用于引導(dǎo)系統(tǒng)的定制程序邏輯的制作方法【專利摘要】本發(fā)明提供用于產(chǎn)生定制的程序邏輯(110,408)的計(jì)算機(jī)實(shí)現(xiàn)的方法,該定制的程序邏輯可操作以控制至少一個(gè)目標(biāo)系統(tǒng)(116-120,206-210,314,402)的硬件設(shè)備(Dev1-Dev7),該方法包括:--確定(502)與至少一個(gè)目標(biāo)系統(tǒng)操作地連接的硬件設(shè)備;--發(fā)送(504)已確定的硬件設(shè)備的標(biāo)識(shí)符的第一列表(112)到服務(wù)器系統(tǒng)(102,202,302);--接收(506)設(shè)備標(biāo)識(shí)符的第一列表;--自動(dòng)選擇(508)可操作以控制標(biāo)識(shí)的裝置的至少一個(gè)驅(qū)動(dòng)器,由此產(chǎn)生所述驅(qū)動(dòng)器組的子組(204,310);--以所述驅(qū)動(dòng)器子組補(bǔ)充(510)核心程序邏輯(106),從而產(chǎn)生所述定制的程序邏輯?!緦@f明】用于引導(dǎo)系統(tǒng)的定制程序邏輯【
技術(shù)領(lǐng)域:
】[0001]本公開涉及數(shù)據(jù)處理領(lǐng)域。更具體說,本公開涉及可操作以控制目標(biāo)系統(tǒng)的硬件裝置及引導(dǎo)所述目標(biāo)系統(tǒng)的程序邏輯。[0002]【
技術(shù)領(lǐng)域:
】[0003]在不斷發(fā)展的網(wǎng)絡(luò)引導(dǎo)環(huán)境中,用于引導(dǎo)目標(biāo)系統(tǒng)的操作系統(tǒng)(及相應(yīng)的配置引擎)從服務(wù)器系統(tǒng)經(jīng)由網(wǎng)絡(luò)配置到每個(gè)網(wǎng)絡(luò)系統(tǒng)。例如,在所謂“裸金屬環(huán)境”,目標(biāo)系統(tǒng)的硬盤(計(jì)算機(jī)的操作系統(tǒng)安裝在其上的通用介質(zhì))可能不包括操作系統(tǒng)或任何其他可引導(dǎo)程序碼。因此,所述可引導(dǎo)碼需要經(jīng)由網(wǎng)絡(luò)從服務(wù)器傳遞。這方便了目標(biāo)系統(tǒng)的維護(hù),也允許如所需地在目標(biāo)系統(tǒng)上靈活地配置不同的操作系統(tǒng)。傳遞的操作系統(tǒng)或配置引擎必須至少包括用于訪問目標(biāo)系統(tǒng)的硬盤的驅(qū)動(dòng)器,以便將操作系統(tǒng)寫入所述硬盤。在幾個(gè)網(wǎng)絡(luò)引導(dǎo)環(huán)境中,目標(biāo)系統(tǒng)也許已經(jīng)為了下載配置引擎提供了初始網(wǎng)絡(luò)能力。然而,所述初始網(wǎng)絡(luò)能力的能力極其有限。所以,當(dāng)經(jīng)由有限的初始網(wǎng)絡(luò)能力提供的網(wǎng)絡(luò)連接下載配置引擎時(shí),目標(biāo)系統(tǒng)可接收提供擴(kuò)展的網(wǎng)絡(luò)能力的附加網(wǎng)絡(luò)驅(qū)動(dòng)器。該目標(biāo)系統(tǒng)可關(guān)閉用于下載配置引擎的有限的初始網(wǎng)絡(luò)支持,并將控制傳給使用附加網(wǎng)絡(luò)驅(qū)動(dòng)器用于控制目標(biāo)計(jì)算機(jī)的網(wǎng)絡(luò)卡的配置引擎。因此,至少一些驅(qū)動(dòng)器需要被從服務(wù)器傳送到相應(yīng)目標(biāo)系統(tǒng),以允許配置的操作系統(tǒng)控制所述目標(biāo)系統(tǒng)的硬件裝置,并且引導(dǎo)和操作該目標(biāo)系統(tǒng)。所述硬件裝置可包括打印機(jī)、掃描儀,圖形卡等。[0004]與目前網(wǎng)絡(luò)-引導(dǎo)方法關(guān)聯(lián)的問題是目標(biāo)系統(tǒng)的硬件裝置組成——且相應(yīng)地需要提供給單個(gè)目標(biāo)系統(tǒng)的驅(qū)動(dòng)器一會(huì)不一致。為了保證配置的操作系統(tǒng)或配置引擎可操作以控制多個(gè)不同目標(biāo)系統(tǒng)中每個(gè)系統(tǒng)的硬件設(shè)備,在混雜(heterogeneous)環(huán)境中用于網(wǎng)絡(luò)引導(dǎo)的當(dāng)前的操作系統(tǒng)和配置引擎包括多個(gè)不同的驅(qū)動(dòng)器,覆蓋比目標(biāo)系統(tǒng)中實(shí)際含有的更多的硬件設(shè)備。因此,盡管所述驅(qū)動(dòng)器的小部分(fraction)實(shí)際上可由任何目標(biāo)系統(tǒng)使用,但是多個(gè)其它驅(qū)動(dòng)器,由于其不包括相應(yīng)的硬件設(shè)備而從未被目標(biāo)系統(tǒng)使用過,也被作為操作系統(tǒng)的部分或配置引擎的部分傳遞(transfer)。這就增加了配置的數(shù)據(jù)的量,增加了網(wǎng)絡(luò)的通信量,降低了配置的速度,并增大了傳送沖突驅(qū)動(dòng)器到目標(biāo)系統(tǒng)的風(fēng)險(xiǎn)。沖突可能通過例如由對(duì)相同盤控制器的不同硬件供應(yīng)商開發(fā)的兩個(gè)驅(qū)動(dòng)器造成?!?br/>發(fā)明內(nèi)容】[0005]本發(fā)明的實(shí)施例的一個(gè)目的是提供程序邏輯提供一種改進(jìn)的方法,該程序邏輯可操作以控制目標(biāo)設(shè)備的硬件設(shè)備并可操作以弓I導(dǎo)所述目標(biāo)設(shè)備。所述目的通過獨(dú)立權(quán)利要求的主題得以解決。有利的實(shí)施例在從屬權(quán)利要求中得到描述。如果無其它明確闡述,本發(fā)明的實(shí)施例可自由地相互結(jié)合。[0006]在此使用的術(shù)語“程序邏輯”涉及可由處理器執(zhí)行的指令序列。[0007]在此使用的術(shù)語“硬件設(shè)備”涉及可由數(shù)據(jù)處理裝置使用并控制的物理設(shè)備。硬件設(shè)備可以是例如網(wǎng)絡(luò)卡、硬盤、連接到數(shù)據(jù)處理裝置的打印機(jī)、圖形卡或CD/DVD驅(qū)動(dòng)器。硬件設(shè)備可以是所述數(shù)據(jù)處理裝置的整體部分或操作地連接到所述數(shù)據(jù)處理設(shè)備。[0008]在此使用的術(shù)語“目標(biāo)系統(tǒng)”或“目標(biāo)”涉及數(shù)據(jù)處理系統(tǒng),其例如經(jīng)由網(wǎng)絡(luò)操作地連接到在此稱作“服務(wù)器計(jì)算機(jī)系統(tǒng)”或“服務(wù)器”的另一數(shù)據(jù)處理系統(tǒng)。目標(biāo)系統(tǒng)是應(yīng)當(dāng)被引導(dǎo)的數(shù)據(jù)處理系統(tǒng)。服務(wù)器系統(tǒng)是使目標(biāo)系統(tǒng)能夠執(zhí)行引導(dǎo)的數(shù)據(jù)處理系統(tǒng)。術(shù)語“操作地連接”表示某元件是另一元件的子元件或連接到該另一元件,例如,經(jīng)由網(wǎng)絡(luò)或系統(tǒng)總線,以允許所述連接的元件為監(jiān)控和/或控制目的交換數(shù)據(jù)。[0009]在此使用的術(shù)語“驅(qū)動(dòng)器”涉及計(jì)算機(jī)程序,允許高級(jí)別計(jì)算機(jī)程序,例如,操作系統(tǒng)或應(yīng)用程序與硬件設(shè)備交互。驅(qū)動(dòng)器通常通過與硬件設(shè)備連接的計(jì)算機(jī)總線或通信子系統(tǒng)與硬件設(shè)備進(jìn)行通信。當(dāng)呼叫程序調(diào)用驅(qū)動(dòng)器例程時(shí),驅(qū)動(dòng)器可以向設(shè)備發(fā)送指令。一旦收到來自硬件設(shè)備的數(shù)據(jù),驅(qū)動(dòng)器也可向呼叫程序發(fā)回?cái)?shù)據(jù),并且甚至可調(diào)用呼叫程序中的例程。驅(qū)動(dòng)器不依賴于硬件且是操作系統(tǒng)特定的程序。[0010]在此使用的術(shù)語“預(yù)引導(dǎo)環(huán)境”(PBE)是目標(biāo)系統(tǒng)的整體部分,并提供一些基本服務(wù),特別是用于下載及操作網(wǎng)絡(luò)引導(dǎo)程序(NBP)的基本網(wǎng)絡(luò)和盤訪問能力。PBE可以是包含在BIOS中的程序邏輯,故可考慮為目標(biāo)系統(tǒng)的固件或硬件的一部分。已內(nèi)置于BIOS(即固件)的驅(qū)動(dòng)器提供了一些基本功能以便從盤、USB或網(wǎng)絡(luò)執(zhí)行簡(jiǎn)單的操作(即加載和操作系統(tǒng))。然而,所述類型驅(qū)動(dòng)器提供極其有限的能力,而且沒有很好地優(yōu)化,并且傾向于僅在引導(dǎo)階段期間使用。一旦OS或網(wǎng)絡(luò)引導(dǎo)程序(NBP)已被加載,則BIOS不再可用,而且OS或NBP需要專用驅(qū)動(dòng)器。[0011]在此使用的術(shù)語“引導(dǎo)加載器”或“網(wǎng)絡(luò)引導(dǎo)程序”(NBP)涉及簡(jiǎn)化版的操作系統(tǒng)(OS)或配置引擎。NBP被加載到目標(biāo)系統(tǒng)的存儲(chǔ)器中并用于在所述目標(biāo)系統(tǒng)的硬盤或主存儲(chǔ)器上配置完全OS或配置引擎。NBP可通過例如USB-棒、⑶-ROM或經(jīng)由網(wǎng)絡(luò)在一些BIOS驅(qū)動(dòng)器的幫助下提供給目標(biāo)系統(tǒng)。在PBE將NBP成功下載到目標(biāo)系統(tǒng)后,PBE將控制傳送給NBP。NBP下載OS或配置引擎其余的組件。NBP可與服務(wù)器系統(tǒng)交互操作而執(zhí)行所述下載。當(dāng)OS或配置引擎的下載完時(shí),NBP將對(duì)目標(biāo)系統(tǒng)的設(shè)備的控制傳送給下載的配置引擎或下載的OS。在這方面,硬件裝置的本地驅(qū)動(dòng)器必須在目標(biāo)系統(tǒng)可用的,以使得OS或配置引擎能夠控制硬件裝置。NBP的一個(gè)示例為Windows預(yù)安裝環(huán)境(WinPE)的引導(dǎo)加載器。WinPE是簡(jiǎn)化版本的Windows-XP或WindowsVista或另一種Windows風(fēng)格。NBP可以與服務(wù)器系統(tǒng)交互以下載完整的OS或下載并安裝該完整OS的配置引擎。[0012]在此使用的術(shù)語“配置引擎”是單機(jī)微型操作系統(tǒng),用于將在完全OS(如WinXP或Linux)之外進(jìn)行的管理任務(wù)。所述任務(wù)可涉及分區(qū)和格式化盤,下載并安裝完整的OS,如Windows或UNIX,抹去(wipe)盤等。優(yōu)先地,配置引擎不是手動(dòng)地安裝在目標(biāo)系統(tǒng)上,而是自動(dòng)下載,比如說,當(dāng)指令目標(biāo)系統(tǒng)在OS配置服務(wù)器幫助下進(jìn)行引導(dǎo)。在配置引擎加載在目標(biāo)系統(tǒng)上并啟動(dòng)后,就可在目標(biāo)系統(tǒng)上執(zhí)行其任務(wù)。因此,配置引擎是單機(jī)管理平臺(tái),并不需要完全OS工作。它可用來配置完全OS,但也可替換地用于其它目的。[0013]在此使用的術(shù)語“硬件管理模塊”(HMM)涉及一片固件,其為目標(biāo)系統(tǒng)的一部分或與目標(biāo)操作地有效連接,而且為服務(wù)器系統(tǒng)提供有關(guān)目標(biāo)系統(tǒng)的硬件設(shè)備進(jìn)行呼叫一些監(jiān)控和/或控制功能的能力。HMM可具有單獨(dú)的網(wǎng)絡(luò)連接(以及其自己的IP地址),服務(wù)器系統(tǒng)可與其直接連接而不牽涉任何目標(biāo)系統(tǒng)的NBP、配置引擎或OS,以建立跟服務(wù)器的連接。硬件管理模塊的一個(gè)例子是IBM硬件管理控制臺(tái),它使得從遠(yuǎn)程位置在目標(biāo)系統(tǒng)上進(jìn)行活動(dòng)成為可能。[0014]一方面,本發(fā)明涉及用于產(chǎn)生定制程序邏輯的計(jì)算機(jī)實(shí)現(xiàn)的方法,該程序邏輯可操作以控制至少一個(gè)目標(biāo)系統(tǒng)的硬件設(shè)備。優(yōu)先地,所述定制的程序邏輯還可操作以引導(dǎo)所述至少一個(gè)目標(biāo)系統(tǒng)。該方法包括:[0015]-由至少一個(gè)目標(biāo)系統(tǒng)的報(bào)告單元確定與至少一個(gè)目標(biāo)系統(tǒng)操作地連接的一個(gè)或多個(gè)硬件設(shè)備;[0016]-由該報(bào)告單元發(fā)送所確定的硬件設(shè)備的標(biāo)識(shí)符的第一列表到服務(wù)器系統(tǒng);[0017]-由該服務(wù)器系統(tǒng)接收該設(shè)備標(biāo)識(shí)符的第一列表;[0018]一由該服務(wù)器系統(tǒng)對(duì)于在接收到的第一列表中的每個(gè)設(shè)備標(biāo)識(shí)符,從一組驅(qū)動(dòng)器自動(dòng)選擇可操作以控制該標(biāo)識(shí)的設(shè)備的至少一個(gè)驅(qū)動(dòng)器,由此產(chǎn)生該驅(qū)動(dòng)器組的子組;[0019]-以所述驅(qū)動(dòng)器子組自動(dòng)補(bǔ)充核心程序邏輯,由此產(chǎn)生所述定制的程序邏輯。核心程序邏輯沒有驅(qū)動(dòng)器組的任何一個(gè)驅(qū)動(dòng)器。[0020]所述特征可以是有利的,這是由于其允許顯著地(在有些情況下高達(dá)50%以上)減小配置給目標(biāo)系統(tǒng)的程序邏輯的尺寸,從而提高配置速度并降低了網(wǎng)絡(luò)通信量。在更有利的方面,減少了可能阻止或降低目標(biāo)系統(tǒng)的引導(dǎo)的驅(qū)動(dòng)器沖突的風(fēng)險(xiǎn)。[0021]根據(jù)實(shí)施例,報(bào)告單元是核心程序邏輯的弓I導(dǎo)加載器。弓丨導(dǎo)加載器可以已配置到至少一個(gè)目標(biāo)系統(tǒng)的存儲(chǔ)器。核心程序邏輯可以是配置引擎或OS。優(yōu)先地,引導(dǎo)加載器的尺寸很小,最好小于相應(yīng)配置引擎或OS尺寸的5%。將驅(qū)動(dòng)器檢測(cè)和列表提交功能性集成到引導(dǎo)加載器中是有利的,這是由于利用引導(dǎo)加載器的現(xiàn)有網(wǎng)絡(luò)引導(dǎo)架構(gòu)僅需最低限度的變更用于提供改進(jìn)的且更有效的網(wǎng)絡(luò)引導(dǎo)環(huán)境:用包括所述特征的引導(dǎo)加載器替代常規(guī)的引導(dǎo)加載器,或?qū)⒋颂卣鞲郊拥侥芘c該服務(wù)器系統(tǒng)協(xié)同操作的常規(guī)引導(dǎo)加載器即可。[0022]在又一個(gè)有利的方面,一開始就禁止傳輸缺少重要驅(qū)動(dòng)器的配置引擎或操作系統(tǒng),從而禁止網(wǎng)絡(luò)資源的浪費(fèi)。在又一個(gè)有利的方面,所述特征方便網(wǎng)絡(luò)引導(dǎo)系統(tǒng)的維護(hù)。目前,這種系統(tǒng)的操作者必須手動(dòng)確認(rèn)配置到裸金屬目標(biāo)系統(tǒng)的任何配置引擎或操作系統(tǒng)包括所有必需的驅(qū)動(dòng)器。這可能是高度復(fù)雜、易出錯(cuò)而且耗時(shí)的工作,而且會(huì)導(dǎo)致包括更多實(shí)際上不必要的驅(qū)動(dòng)器的配置引擎或操作系統(tǒng)的產(chǎn)生。在又一個(gè)有利的方面,配置到目標(biāo)系統(tǒng)的驅(qū)動(dòng)器的數(shù)量的減少,減少了會(huì)導(dǎo)致引導(dǎo)過程的中斷的驅(qū)動(dòng)器沖突的機(jī)會(huì)。[0023]根據(jù)又一個(gè)實(shí)施例,報(bào)告單元是進(jìn)一步已經(jīng)配置到至少一個(gè)目標(biāo)系統(tǒng)的存儲(chǔ)器的程序邏輯。所述程序邏輯可以不包括任何引導(dǎo)加載器功能。所以,所述實(shí)施例優(yōu)先用于與標(biāo)準(zhǔn)引導(dǎo)加載器結(jié)合。[0024]根據(jù)又一個(gè)實(shí)施例,報(bào)告單元是至少一個(gè)目標(biāo)系統(tǒng)的硬件管理模塊。根據(jù)一些實(shí)施例,硬件管理模塊可包括提供網(wǎng)絡(luò)服務(wù)的程序邏輯。一旦由服務(wù)器系統(tǒng)調(diào)用,網(wǎng)絡(luò)服務(wù)可提供可調(diào)用(callable)接口返回包含在目標(biāo)系統(tǒng)中的設(shè)備的設(shè)備標(biāo)識(shí)符的第一列表,該目標(biāo)系統(tǒng)包括或與硬件管理模塊操作地連接。這可以是有利的,這是因?yàn)槊總€(gè)目標(biāo)系統(tǒng)都配有支持網(wǎng)絡(luò)引導(dǎo)的一些嵌入的功能。硬件管理模塊可適于經(jīng)由網(wǎng)絡(luò)與服務(wù)器系統(tǒng)進(jìn)行通信而不涉及或無需任何目標(biāo)系統(tǒng)側(cè)的OS或NBP。[0025]根據(jù)實(shí)施例,核心程序邏輯是沒有驅(qū)動(dòng)器組的任何一個(gè)驅(qū)動(dòng)器的配置引擎,該配置引擎是可操作以配置與服務(wù)器系統(tǒng)交互的操作系統(tǒng)的程序邏輯。定制的程序邏輯是所述配置引擎和驅(qū)動(dòng)器子組的結(jié)合。根據(jù)其他實(shí)施例,核心程序邏輯是沒有驅(qū)動(dòng)器組的任何一個(gè)驅(qū)動(dòng)器的完全操作系統(tǒng)。所述特征可以是有利的,這是因?yàn)槎ㄖ坪团渲玫呐渲靡婧筒僮飨到y(tǒng)都不包括不是目標(biāo)系統(tǒng)部分的設(shè)備的驅(qū)動(dòng)器,因此定制和配置的配置引擎的尺寸以及操作系統(tǒng)的尺寸減小了。[0026]根據(jù)其它實(shí)施例,核心程序邏輯是運(yùn)行時(shí)間環(huán)境的圖像。所述圖像不包括驅(qū)動(dòng)器組的任何一個(gè)驅(qū)動(dòng)器。定制的程序邏輯是所述圖像和驅(qū)動(dòng)器子組的結(jié)合。定制的程序邏輯可操作以在已經(jīng)安裝在至少一個(gè)目標(biāo)系統(tǒng)上之后控制至少一個(gè)目標(biāo)系統(tǒng)的設(shè)備。運(yùn)行時(shí)間環(huán)境可包括,例如,操作系統(tǒng)邏輯及可選地應(yīng)用程序邏輯和/用戶數(shù)據(jù)。運(yùn)行時(shí)間環(huán)境還可以是模擬硬件機(jī)器并用于例如桌面虛擬化的虛擬機(jī)器。所述特征能提供改進(jìn)的再成像系統(tǒng),其可操作以有效地提供圖像給一個(gè)或多個(gè)目標(biāo)系統(tǒng)。[0027]根據(jù)實(shí)施例,由服務(wù)系統(tǒng)執(zhí)行補(bǔ)充。服務(wù)系統(tǒng)與已經(jīng)存儲(chǔ)驅(qū)動(dòng)器組和核心程序邏輯的存儲(chǔ)介質(zhì)操作地連接。該方法還包括發(fā)送定制的程序邏輯到至少一個(gè)目標(biāo)系統(tǒng)。這可以是有利的,因?yàn)楸仨氃诜?wù)器側(cè)僅一次做完完成工作。[0028]根據(jù)又一個(gè)實(shí)施例,發(fā)送定制的程序邏輯到至少一個(gè)目標(biāo)系統(tǒng)包括發(fā)送定制的程序邏輯到多個(gè)目標(biāo)系統(tǒng)。每個(gè)所述目標(biāo)系統(tǒng)包括與已經(jīng)將設(shè)備標(biāo)識(shí)符的第一列表發(fā)送給服務(wù)器系統(tǒng)的目標(biāo)系統(tǒng)包括的設(shè)備類型相同的設(shè)備。服務(wù)器能夠從許多不同的目標(biāo)系統(tǒng)接收設(shè)備標(biāo)識(shí)符的列表,并且將列表相互比較以便確定目標(biāo)系統(tǒng)是否包括同一組硬件設(shè)備。優(yōu)先地,發(fā)送定制的程序邏輯到包括同一組硬件設(shè)備的多個(gè)目標(biāo)系統(tǒng)使用多播數(shù)據(jù)傳輸技術(shù)執(zhí)行。多播傳送意為定制的程序邏輯是以單獨(dú)傳輸從服務(wù)器傳送到多目標(biāo)系統(tǒng)。定制程序邏輯的副本是在諸如路由器的網(wǎng)絡(luò)元件中自動(dòng)創(chuàng)建的,僅當(dāng)網(wǎng)絡(luò)拓?fù)湟蟛女a(chǎn)生。通過當(dāng)配置核心程序邏輯時(shí)避免傳輸同片數(shù)據(jù)的多個(gè)副本,因此使用多播數(shù)據(jù)傳輸技術(shù)減少了數(shù)據(jù)通信量,所以所述特征可以是有利的。[0029]根據(jù)實(shí)施例,由至少一個(gè)目標(biāo)系統(tǒng)的報(bào)告單元執(zhí)行補(bǔ)充。服務(wù)器系統(tǒng)與已經(jīng)存有驅(qū)動(dòng)器組(這里也稱作“驅(qū)動(dòng)器池”)和核心程序邏輯的存儲(chǔ)介質(zhì)操作地連接。在補(bǔ)充完整核心程序邏輯之前,該方法還包括:[0030]-由服務(wù)器系統(tǒng)發(fā)送核心程序邏輯與驅(qū)動(dòng)器子組到至少一個(gè)目標(biāo)系統(tǒng);和[0031]-由所述至少一個(gè)目標(biāo)系統(tǒng)接收程序邏輯和驅(qū)動(dòng)器子組。依賴于該實(shí)施例,發(fā)送該核心程序邏輯與驅(qū)動(dòng)器子組可通過一條消息或多條消息執(zhí)行。[0032]根據(jù)實(shí)施例,發(fā)送核心程序邏輯到至少一個(gè)目標(biāo)系統(tǒng)包括選擇性地發(fā)送核心程序邏輯到分別含有相同或不同設(shè)備類型的多個(gè)目標(biāo)系統(tǒng)。發(fā)送驅(qū)動(dòng)器子組到至少一個(gè)目標(biāo)系統(tǒng)包括發(fā)送驅(qū)動(dòng)器子組到分別含有與已經(jīng)發(fā)送第一列表到服務(wù)器系統(tǒng)的目標(biāo)系統(tǒng)包括的相同類型的設(shè)備的一個(gè)或多個(gè)目標(biāo)系統(tǒng)。因此,服務(wù)器可操作以檢查對(duì)于目標(biāo)系統(tǒng)之一已創(chuàng)建的驅(qū)動(dòng)器子組是否也適合其它目標(biāo)系統(tǒng)的硬件設(shè)備組成。所述特征可以是有利的,這是因?yàn)槠淇纱_保每個(gè)目標(biāo)系統(tǒng)接收控制其本身硬件設(shè)備所需的設(shè)備驅(qū)動(dòng)器,而不會(huì)更多。[0033]優(yōu)先地,通過使用多播數(shù)據(jù)傳輸技術(shù)執(zhí)行核心程序邏輯的發(fā)送。優(yōu)先地,通過使用單薄數(shù)據(jù)傳輸技術(shù)執(zhí)行驅(qū)動(dòng)器子組的發(fā)送。經(jīng)由兩個(gè)不同的通信協(xié)議發(fā)送核心程序邏輯和驅(qū)動(dòng)器子組可以是有利的,因?yàn)樗龇椒ㄔ试S根據(jù)多播傳輸協(xié)議傳輸至少程序邏輯核心,由此減少了網(wǎng)絡(luò)通信量并使該方法加速。如果定制程序邏輯作為單條數(shù)據(jù)傳送,而不是以兩個(gè)分開的部分傳送,包括不同硬件設(shè)備組成的目標(biāo)系統(tǒng)的分布式網(wǎng)絡(luò)引導(dǎo)系統(tǒng)將必須應(yīng)用單播傳輸協(xié)議,由此增加數(shù)據(jù)通信量。[0034]根據(jù)實(shí)施例,在此稱作“驅(qū)動(dòng)器-下載-命令”的命令由至少一個(gè)目標(biāo)系統(tǒng)的報(bào)告單元提交給服務(wù)器系統(tǒng)。該命令觸發(fā)驅(qū)動(dòng)器子組從服務(wù)器系統(tǒng)到至少一個(gè)目標(biāo)系統(tǒng)的發(fā)送。[0035]根據(jù)實(shí)施例,服務(wù)器系統(tǒng)為確定包含在預(yù)定義的程序邏輯中的設(shè)備驅(qū)動(dòng)器而分析預(yù)定義的程序邏輯。然后服務(wù)器系統(tǒng)從所述預(yù)定義的程序邏輯中移除沒有由接收的第一列表中包含的任何一個(gè)設(shè)備標(biāo)識(shí)符標(biāo)識(shí)的所有已確定的設(shè)備驅(qū)動(dòng)器。從而創(chuàng)建了定制程序邏輯。根據(jù)其它實(shí)施例,服務(wù)器系統(tǒng)通過從所述預(yù)定義的程序邏輯中移除所有確定的設(shè)備驅(qū)動(dòng)器來產(chǎn)生核心程序邏輯。所述特征可以是有利的,這是因?yàn)樵S多硬件裝置廠家提供覆蓋所有設(shè)備類型和所述廠家提供的各個(gè)裝置版本的大的驅(qū)動(dòng)器包。所述驅(qū)動(dòng)器包可以是單機(jī)的包,或可以是已經(jīng)集成到OS或相應(yīng)的配置引擎中,由此顯著地增加了所述OS和配置引擎的尺寸。通過將所有目標(biāo)系統(tǒng)實(shí)際不需要的所有驅(qū)動(dòng)器從所述OS-驅(qū)動(dòng)器包或配置引擎-驅(qū)動(dòng)器包中移除,可以將預(yù)定義的包作為輸入而自動(dòng)產(chǎn)生程序邏輯核心。[0036]根據(jù)實(shí)施例,至少一個(gè)目標(biāo)系統(tǒng)的報(bào)告單元經(jīng)由網(wǎng)絡(luò)從服務(wù)器系統(tǒng)接收引導(dǎo)命令。網(wǎng)絡(luò)可以是,例如因特網(wǎng)或內(nèi)部互聯(lián)網(wǎng)。引導(dǎo)命令的接收觸發(fā)了設(shè)備標(biāo)識(shí)符的第一列表的產(chǎn)生和發(fā)送。[0037]根據(jù)實(shí)施例,對(duì)于一個(gè)或多個(gè)目標(biāo)系統(tǒng)中的第一個(gè)產(chǎn)生所述定制的程序邏輯。該方法還包括:從第二個(gè)目標(biāo)系統(tǒng)中接收設(shè)備標(biāo)識(shí)符的第二列表。所述第二列表與第一列表中的設(shè)備標(biāo)識(shí)符共享多個(gè)設(shè)備標(biāo)識(shí)符。第二列表包括未包含在第一列表中的至少一個(gè)設(shè)備標(biāo)識(shí)符。通過以至少一個(gè)驅(qū)動(dòng)器補(bǔ)充對(duì)于第一目標(biāo)系統(tǒng)產(chǎn)生的定制的程序邏輯而對(duì)于第二目標(biāo)系統(tǒng)產(chǎn)生進(jìn)一步定制的程序邏輯。所述至少一個(gè)驅(qū)動(dòng)器可操作以控制由沒有包含在設(shè)備標(biāo)識(shí)符的第一列表中的第二列表的至少一個(gè)設(shè)備標(biāo)識(shí)符標(biāo)識(shí)的至少一個(gè)設(shè)備。將進(jìn)一步定制的程序邏輯發(fā)送到第二目標(biāo)系統(tǒng)。所述特征可以是有利的,這是因?yàn)槠湓谕ㄟ^在服務(wù)器系統(tǒng)上產(chǎn)生定制的程序邏輯而造成的處理負(fù)載,和由將驅(qū)動(dòng)器子組的驅(qū)動(dòng)器傳輸?shù)侥繕?biāo)系統(tǒng)而產(chǎn)生的網(wǎng)絡(luò)通信量之間提供了良好的折衷:很多情況下,可以假設(shè)網(wǎng)絡(luò)引導(dǎo)環(huán)境中的目標(biāo)系統(tǒng)的硬件設(shè)備組成類似但不完全一樣。通常,存在主要來自單個(gè)供應(yīng)商的有限數(shù)量的目標(biāo)系統(tǒng)類型。這樣,有關(guān)所需驅(qū)動(dòng)器方面會(huì)有交疊??赏ㄟ^僅為一個(gè)目標(biāo)系統(tǒng)創(chuàng)建定制的程序邏輯來減小服務(wù)器系統(tǒng)的處理負(fù)載,由此顯著地減小了配置到目標(biāo)系統(tǒng)的數(shù)據(jù)的總大小。對(duì)于所有其它目標(biāo)系統(tǒng),或至少對(duì)于類似于第一目標(biāo)系統(tǒng)的目標(biāo)系統(tǒng),已創(chuàng)建的定制程序邏輯僅用別的類似目標(biāo)系統(tǒng)額外需要的驅(qū)動(dòng)器進(jìn)行補(bǔ)充。這樣,在為其它類似目標(biāo)系統(tǒng)創(chuàng)建的所述定制的程序邏輯中就有一些驅(qū)動(dòng)器,在所述類似目標(biāo)系統(tǒng)中是不需要的。然而,就服務(wù)器的處理功率而言的節(jié)省勝過因外加所述幾個(gè)額外的非需要的驅(qū)動(dòng)器造成的網(wǎng)絡(luò)通信量。[0038]根據(jù)實(shí)施例,對(duì)于目標(biāo)系統(tǒng)的至少一個(gè)硬件設(shè)備來說,驅(qū)動(dòng)器子組包括多個(gè)候選驅(qū)動(dòng)器用于控制目標(biāo)系統(tǒng)的一個(gè)硬件設(shè)備。該方法還包括:[0039]-依靠包含在定制的程序邏輯中的驅(qū)動(dòng)器來引導(dǎo)目標(biāo)系統(tǒng);[0040]-a)在引導(dǎo)目標(biāo)系統(tǒng)的同時(shí),由定制的程序邏輯選擇候選驅(qū)動(dòng)器的第一個(gè)以控制所述硬件設(shè)備;[0041]-bl)在所述第一候選驅(qū)動(dòng)器被確定為可操作以控制所述硬件設(shè)備的情況下,在存儲(chǔ)介質(zhì)中存儲(chǔ)所述候選驅(qū)動(dòng)器能夠控制所述硬件設(shè)備的指示,并繼續(xù)目標(biāo)系統(tǒng)的引導(dǎo)而不使用所述硬件設(shè)備的其它候選設(shè)備來控制所述硬件設(shè)備;[0042]-b2)在所述第一候選驅(qū)動(dòng)器被確定為不可操作以控制所述硬件設(shè)備的情況下,在存儲(chǔ)介質(zhì)中存儲(chǔ)所述候選驅(qū)動(dòng)器不能控制所述硬件設(shè)備的指示,并重新引導(dǎo)目標(biāo)系統(tǒng),其中,當(dāng)重新引導(dǎo)時(shí),通過選擇沒有在之前重新引導(dǎo)循環(huán)中被選的候選驅(qū)動(dòng)器的另一個(gè)來重復(fù)步驟a)和b)。執(zhí)行所述重復(fù)直到至少一個(gè)候選驅(qū)動(dòng)器被標(biāo)識(shí)為可操作以控制所述硬件設(shè)備為止。[0043]對(duì)于至少一些硬件設(shè)備標(biāo)識(shí)符,包括各個(gè)候選驅(qū)動(dòng)器組是有利的,因?yàn)橛捎诖罅靠赡芙M合的硬件裝置結(jié)合,有時(shí)會(huì)出現(xiàn)這樣的情況,即在目標(biāo)系統(tǒng)的引導(dǎo)期間使用的一些驅(qū)動(dòng)器會(huì)發(fā)生沖突。這可能不能事先預(yù)知。對(duì)于一個(gè)或多個(gè)標(biāo)識(shí)的硬件設(shè)備,通過將一組候選驅(qū)動(dòng)器而不是單個(gè)驅(qū)動(dòng)器包括在驅(qū)動(dòng)器子組及相應(yīng)的定制的程序邏輯中,即使其中一個(gè)驅(qū)動(dòng)器顯示為不與子組的其它驅(qū)動(dòng)器結(jié)合工作,仍能夠引導(dǎo)目標(biāo)系統(tǒng)。[0044]在現(xiàn)有技術(shù)的系統(tǒng)中,在引導(dǎo)期間驅(qū)動(dòng)器發(fā)生沖突的情況下,出現(xiàn)錯(cuò)誤,該錯(cuò)誤必須通過在執(zhí)行引導(dǎo)的OS中實(shí)施的相應(yīng)程序例程來處理。指定這類錯(cuò)誤處理操作很費(fèi)時(shí),而且不能預(yù)見可能與在OS寫入時(shí)還不存在的其它驅(qū)動(dòng)器有關(guān)而發(fā)生的任何類型的沖突。通過在引導(dǎo)時(shí)不擦除數(shù)據(jù)的存儲(chǔ)介質(zhì)中存儲(chǔ)哪種候選驅(qū)動(dòng)器不可操作以控制其相應(yīng)的裝置的信息,提供自動(dòng)化驅(qū)動(dòng)器沖突-管理過程,其也可以在當(dāng)OS或配置引擎不包括在系統(tǒng)引導(dǎo)期間處理驅(qū)動(dòng)器沖突的任何錯(cuò)誤處理例程時(shí)應(yīng)用。[0045]根據(jù)優(yōu)選的實(shí)施例,用于存儲(chǔ)失敗的驅(qū)動(dòng)器信息的存儲(chǔ)介質(zhì)是包括統(tǒng)一可擴(kuò)展固件接口(UEFI)的BIOS或存儲(chǔ)模塊的一部分。根據(jù)一些實(shí)施例,已被確定為能控制目標(biāo)系統(tǒng)的各個(gè)硬件設(shè)備的候選驅(qū)動(dòng)器從所述目標(biāo)系統(tǒng)傳遞到服務(wù)器系統(tǒng)。服務(wù)器在當(dāng)產(chǎn)生定制的程序邏輯時(shí)可使用所述信息,以避免將候選驅(qū)動(dòng)器包含在已經(jīng)被確定為不可操作以控制特定的設(shè)備本身或被確定為不可操作以控制設(shè)備的定制的程序邏輯內(nèi)(如果該候選驅(qū)動(dòng)器被提供作為所述特定的、以前使用的驅(qū)動(dòng)器子組的一部分)。這樣,可以改進(jìn)所選的驅(qū)動(dòng)器子組和相應(yīng)的定制的程序邏輯的質(zhì)量和兼容性。[0046]另一方面,本發(fā)明涉及計(jì)算機(jī)可讀介質(zhì),其包括以其具體體現(xiàn)的計(jì)算機(jī)可讀程序碼,當(dāng)該程序碼由處理器執(zhí)行時(shí),促使處理器根據(jù)在前任一權(quán)利要求執(zhí)行一種方法。[0047]另一方面,本發(fā)明涉及經(jīng)由網(wǎng)絡(luò)連接到一個(gè)或多個(gè)目標(biāo)系統(tǒng)的服務(wù)器系統(tǒng)。該服務(wù)器系統(tǒng)適于:[0048]—從目標(biāo)系統(tǒng)之一接收設(shè)備標(biāo)識(shí)符的第一列表;[0049]一對(duì)于接收的第一列表中的每個(gè)設(shè)備標(biāo)識(shí)符從驅(qū)動(dòng)器組自動(dòng)選擇可操作以控制標(biāo)識(shí)的設(shè)備的至少一個(gè)驅(qū)動(dòng)器,從而產(chǎn)生所述驅(qū)動(dòng)器組的子組;[0050]-將核心程序邏輯提供給目標(biāo)系統(tǒng);以及[0051]-將驅(qū)動(dòng)器子組提供給目標(biāo)系統(tǒng),其中,子組驅(qū)動(dòng)器和核心程序邏輯的結(jié)合構(gòu)成可操作以控制所述目標(biāo)系統(tǒng)的設(shè)備的定制的程序邏輯。所述程序的邏輯也可操作以引導(dǎo)一個(gè)目標(biāo)系統(tǒng)。[0052]根據(jù)一些實(shí)施例,提供核心程序邏輯和提供驅(qū)動(dòng)器子組包括由服務(wù)器系統(tǒng)產(chǎn)生定制的程序邏輯,并將所述定制的程序邏輯發(fā)送給所述目標(biāo)系統(tǒng)。[0053]經(jīng)由網(wǎng)絡(luò)連接到服務(wù)器系統(tǒng)的目標(biāo)系統(tǒng),該目標(biāo)系統(tǒng)包括硬件設(shè)備,該目標(biāo)系統(tǒng)包括報(bào)告單兀,適于:[0054]-確定與所述目標(biāo)系統(tǒng)操作地連接的硬件設(shè)備;[0055]-將確定的硬件設(shè)備的標(biāo)識(shí)符的第一列表發(fā)送到服務(wù)器系統(tǒng);[0056]-響應(yīng)于發(fā)送所述第一列表,從服務(wù)器系統(tǒng)接收驅(qū)動(dòng)器子組,該驅(qū)動(dòng)器子組包括對(duì)于每個(gè)確定的硬件裝置的可操作以控制所述硬件裝置的各個(gè)驅(qū)動(dòng)器;[0057]-響應(yīng)于發(fā)送所述第一列表,從服務(wù)器系統(tǒng)接收核心程序邏輯;[0058]其中,驅(qū)動(dòng)器子組和核心程序邏輯的結(jié)合構(gòu)成可操作以引導(dǎo)所述目標(biāo)系統(tǒng)和控制所述目標(biāo)系統(tǒng)的設(shè)備的定制程序邏輯。[0059]根據(jù)一些實(shí)施例,目標(biāo)系統(tǒng)還適于用接收的驅(qū)動(dòng)器子組補(bǔ)充接收的核心程序邏輯。由此在目標(biāo)系統(tǒng)側(cè)產(chǎn)生定制的程序邏輯。[0060]在另一方面,本發(fā)明涉及分布的網(wǎng)絡(luò)引導(dǎo)環(huán)境,其包括至少一個(gè)服務(wù)器系統(tǒng)和兩個(gè)或更多個(gè)目標(biāo)系統(tǒng)。[0061]根據(jù)一些實(shí)施例,服務(wù)器系統(tǒng)和一個(gè)或多個(gè)目標(biāo)系統(tǒng)是“預(yù)引導(dǎo)執(zhí)行環(huán)境”(PXE)的一部分。PXE是使用網(wǎng)絡(luò)接口、不依賴于數(shù)據(jù)存儲(chǔ)裝置(如硬盤)或安裝的操作系統(tǒng)而引導(dǎo)目標(biāo)系統(tǒng)的環(huán)境。目標(biāo)系統(tǒng)甚至可不包括任何OS。而是,加載到目標(biāo)系統(tǒng)的主存儲(chǔ)器中的網(wǎng)絡(luò)引導(dǎo)程序(NBP)與服務(wù)器協(xié)同操作以從服務(wù)器下載相應(yīng)的OS或配置引擎。對(duì)于配置過程中的幾個(gè)任務(wù),例如,在非易失性硬盤上存儲(chǔ)下載的OS,配置引擎需要一些驅(qū)動(dòng)器,該驅(qū)動(dòng)器允許配置引擎能夠訪問所述硬盤。譬如,也可能需要網(wǎng)絡(luò)驅(qū)動(dòng)器允許配置引擎能夠打開到服務(wù)器的網(wǎng)絡(luò)連接,并經(jīng)由網(wǎng)絡(luò)下載完全操作系統(tǒng)。NBP可使用由PXE提供的作為基于固件或硬件的功能來訪問網(wǎng)絡(luò)或磁盤。這樣,PXE可提供一些基本驅(qū)動(dòng)器用于下載OS或配置引擎,但是在NBP將控制傳遞給配置引擎或OS(其不能利用PXE環(huán)境)之后,配置引擎或OS需要本地驅(qū)動(dòng)器。PXE利用了幾個(gè)網(wǎng)絡(luò)協(xié)議,如互聯(lián)網(wǎng)協(xié)議(IPv4)、用戶數(shù)據(jù)報(bào)協(xié)議(UDP)和動(dòng)態(tài)主機(jī)配置協(xié)議(DHCP),并用一組預(yù)定義的應(yīng)用編程界面擴(kuò)展作為PXE客戶端的目標(biāo)系統(tǒng)的固件。根據(jù)實(shí)施例,各個(gè)目標(biāo)系統(tǒng)的PXE支持固件組件,如PXE支持硬件管理模塊可操作以在網(wǎng)絡(luò)上定位PXE重定向服務(wù),以便接收有關(guān)可用的PXE引導(dǎo)服務(wù)器系統(tǒng)的信息。PXE重定向服務(wù)的應(yīng)答由目標(biāo)系統(tǒng)的所述固件評(píng)估,用于確定服務(wù)器系統(tǒng)用作引導(dǎo)服務(wù)器。然后,從服務(wù)器下載配置引擎并存儲(chǔ)到目標(biāo)系統(tǒng)的主存儲(chǔ)器中(目標(biāo)系統(tǒng)不需要驅(qū)動(dòng)器用于訪問其RAM)??苫赥FTP協(xié)議執(zhí)行下載。下載的配置引擎可以可選地評(píng)估并執(zhí)行,用于從服務(wù)器系統(tǒng)下載完全OS以及用于經(jīng)由下載的OS引導(dǎo)目標(biāo)系統(tǒng)。[0062]所屬【
技術(shù)領(lǐng)域:
】的技術(shù)人員知道,本發(fā)明的各個(gè)方面可以實(shí)現(xiàn)為系統(tǒng)、方法或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明的各個(gè)方面可以具體實(shí)現(xiàn)為以下形式,即:完全的硬件實(shí)施方式、完全的軟件實(shí)施方式(包括固件、駐留軟件、微代碼等),或硬件和軟件方面結(jié)合的實(shí)施方式,這里可以統(tǒng)稱為“電路”、“模塊”或“系統(tǒng)”。此外,在一些實(shí)施例中,本發(fā)明的各個(gè)方面還可以實(shí)現(xiàn)為在一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)程序產(chǎn)品的形式,該計(jì)算機(jī)可讀介質(zhì)中包含計(jì)算機(jī)可讀的程序代碼。[0063]可以采用一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)的任意組合。計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)可讀信號(hào)介質(zhì)或者計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)例如可以是一但不限于——電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個(gè)或多個(gè)導(dǎo)線的電連接、便攜式計(jì)算機(jī)盤、硬盤、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可擦式可編程只讀存儲(chǔ)器(EPROM或閃存)、光纖、便攜式緊湊盤只讀存儲(chǔ)器(CD-ROM)、光存儲(chǔ)器件、磁存儲(chǔ)器件、或者上述的任意合適的組合。在本文件中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是任何包含或存儲(chǔ)程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。[0064]計(jì)算機(jī)可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括一但不限于一無線、有線、光纜、RF等等,或者上述的任意合適的組合。[0065]可以以一種或多種程序設(shè)計(jì)語言的任意組合來編寫用于執(zhí)行本發(fā)明操作的計(jì)算機(jī)程序代碼,所述程序設(shè)計(jì)語言包括面向?qū)ο蟮某绦蛟O(shè)計(jì)語言一諸如Java、Smalltalk、C++等,還包括常規(guī)的過程式程序設(shè)計(jì)語言一諸如“C”語言或類似的程序設(shè)計(jì)語言。程序代碼可以完全地在用戶計(jì)算機(jī)上執(zhí)行、部分地在用戶計(jì)算機(jī)上執(zhí)行、作為一個(gè)獨(dú)立的軟件包執(zhí)行、部分在用戶計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計(jì)算機(jī)的情形中,遠(yuǎn)程計(jì)算機(jī)可以通過任意種類的網(wǎng)絡(luò)一包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)—連接到用戶計(jì)算機(jī),或者,可以連接到外部計(jì)算機(jī)(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。[0066]下面將參照根據(jù)本發(fā)明實(shí)施例的方法、裝置(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或框圖描述本發(fā)明。[0067]應(yīng)當(dāng)理解,流程圖和/或框圖的每個(gè)方框以及流程圖和/或框圖中各方框的組合,都可以由計(jì)算機(jī)程序指令實(shí)現(xiàn)。這些計(jì)算機(jī)程序指令可以提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,使得這些計(jì)算機(jī)程序指令在通過計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時(shí),產(chǎn)生了實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的裝置。[0068]也可以把這些計(jì)算機(jī)程序指令存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中,這些指令使得計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其他設(shè)備以特定方式工作,從而,存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中的指令就產(chǎn)生出包括實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的指令的制造品(articleofmanufacture)。也可以把計(jì)算機(jī)程序指令加載到計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上,使得在計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置或其它設(shè)備上執(zhí)行一系列操作步驟,以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的過程,從而使得在計(jì)算機(jī)或其它可編程裝置上執(zhí)行的指令能夠提供實(shí)現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的過程?!緦@綀D】【附圖說明】[0069]通過閱讀本發(fā)明實(shí)施例的下述更詳細(xì)的描述并結(jié)合附圖將會(huì)更好地理解本發(fā)明的上述條目、特征和優(yōu)點(diǎn),其中[0070]圖1是包括服務(wù)器系統(tǒng)和三個(gè)目標(biāo)系統(tǒng)的分布式計(jì)算機(jī)系統(tǒng)的框圖,[0071]圖2描述包括服務(wù)器系統(tǒng)和多個(gè)目標(biāo)系統(tǒng)的另一分布式計(jì)算機(jī)系統(tǒng),[0072]圖3是更詳細(xì)地顯示服務(wù)器系統(tǒng)及目標(biāo)系統(tǒng)之一的組件的框圖,[0073]圖4示出包括硬件管理模塊的目標(biāo)系統(tǒng),[0074]圖5描述創(chuàng)建用于引導(dǎo)目標(biāo)系統(tǒng)的定制程序邏輯的過程,以及[0075]圖6示出經(jīng)由網(wǎng)絡(luò)下載配置引擎和相應(yīng)的OS的過程?!揪唧w實(shí)施方式】[0076]圖1描述以定制程序邏輯110的方式經(jīng)由網(wǎng)絡(luò)114有效地引導(dǎo)一個(gè)或多個(gè)目標(biāo)系統(tǒng)的分布式計(jì)算機(jī)系統(tǒng)100。該計(jì)算機(jī)系統(tǒng)100包括服務(wù)器系統(tǒng)102和多個(gè)目標(biāo)系統(tǒng)116,118和120,多個(gè)目標(biāo)系統(tǒng)經(jīng)由網(wǎng)絡(luò)114相互連接。目標(biāo)系統(tǒng)的存儲(chǔ)設(shè)備可以不包括任何操作系統(tǒng)。更確切地,將被用于引導(dǎo)的操作系統(tǒng)(OS)或定制圖像應(yīng)按所需經(jīng)由網(wǎng)絡(luò)從服務(wù)器傳送至每個(gè)目標(biāo)系統(tǒng)。傳送的配置引擎和相應(yīng)的OS或傳送的圖像定制為各自目標(biāo)系統(tǒng)的硬件組成,即,僅包括控制各個(gè)目標(biāo)系統(tǒng)的設(shè)備DeVl-DeV7所需的驅(qū)動(dòng)器。參照?qǐng)D1,將描述網(wǎng)絡(luò)引導(dǎo)系統(tǒng)藍(lán)圖,其允許對(duì)具有不同設(shè)備組成的目標(biāo)系統(tǒng)進(jìn)行動(dòng)態(tài)、即時(shí)和有效的網(wǎng)絡(luò)引導(dǎo)。[0077]服務(wù)器包括驅(qū)動(dòng)器池104。對(duì)于任一個(gè)目標(biāo)系統(tǒng)116-120使用的每一個(gè)設(shè)備,驅(qū)動(dòng)器池包括至少一個(gè)驅(qū)動(dòng)器。驅(qū)動(dòng)器池104甚至可包括不包括在任何目標(biāo)系統(tǒng)中的硬件設(shè)備的驅(qū)動(dòng)器。例如,驅(qū)動(dòng)器池104可由一個(gè)或多個(gè)設(shè)備制造商提供的一個(gè)或多個(gè)驅(qū)動(dòng)器包(driverbundle)組成。另外,服務(wù)器系統(tǒng)包括程序邏輯核心106,即沒有驅(qū)動(dòng)器池的任何驅(qū)動(dòng)器的程序邏輯,并可操作以單獨(dú)引導(dǎo)每個(gè)目標(biāo)系統(tǒng)116-120,或在下載附加的可執(zhí)行程序(executable)后,所述程序邏輯核心由各個(gè)目標(biāo)系統(tǒng)的驅(qū)動(dòng)器補(bǔ)充。服務(wù)器系統(tǒng)的定制單元108用于創(chuàng)建定制程序邏輯110,由此,定制程序邏輯相對(duì)于其配置的每個(gè)目標(biāo)系統(tǒng)的硬件設(shè)備組成而配置。[0078]每個(gè)目標(biāo)系統(tǒng)包括報(bào)告單元122,其可操作以確定所述目標(biāo)系統(tǒng)的硬件設(shè)備組成,并可操作以經(jīng)由網(wǎng)絡(luò)114發(fā)送帶有各個(gè)設(shè)備標(biāo)識(shí)符的列表112到服務(wù)器系統(tǒng)102。由于目標(biāo)系統(tǒng)116和118的設(shè)備組成相同(兩者均包括設(shè)備Devi1、Dev2和Dev5),目標(biāo)系統(tǒng)116產(chǎn)生的列表112與將由目標(biāo)系統(tǒng)118產(chǎn)生的列表相同,并且各自的產(chǎn)生的定制程序邏輯110也相同。由于目標(biāo)系統(tǒng)120的設(shè)備組成與目標(biāo)系統(tǒng)116和118的設(shè)備組成稍有不同,目標(biāo)系統(tǒng)120的報(bào)告單元112就創(chuàng)建稍有不同的驅(qū)動(dòng)器列表,導(dǎo)致目標(biāo)系統(tǒng)120產(chǎn)生稍有不同的定制程序邏輯。[0079]首先,目標(biāo)系統(tǒng)116的報(bào)告單元122會(huì)產(chǎn)生列表112,包括設(shè)備Devil、Dev2和Dev5的設(shè)備標(biāo)識(shí)符。對(duì)于PCI設(shè)備,所述確定可以基于,例如,PCI總線登記(registry)的分析。如虛線箭頭所示,所述列表經(jīng)由網(wǎng)絡(luò)提交給服務(wù)器系統(tǒng)。服務(wù)器系統(tǒng)的定制單元108評(píng)估該列表,并從驅(qū)動(dòng)器池104選擇驅(qū)動(dòng)器的子組。該驅(qū)動(dòng)器的子組與核心程序邏輯106結(jié)合。所述結(jié)合的產(chǎn)物,定制程序邏輯110經(jīng)由網(wǎng)絡(luò)114由服務(wù)器系統(tǒng)配置到目標(biāo)系統(tǒng)116。由于其尺寸小,配置的定制程序邏輯可很快經(jīng)由網(wǎng)絡(luò)傳輸并可用于引導(dǎo)目標(biāo)系統(tǒng)116。[0080]圖2描述分布式計(jì)算機(jī)系統(tǒng)200,也包括服務(wù)器系統(tǒng)202和多目標(biāo)系統(tǒng)206、208和210。圖1描述的系統(tǒng)100和系統(tǒng)200之間的主要區(qū)別在于:在系統(tǒng)200的至少一個(gè)目標(biāo)系統(tǒng)中,定制的程序邏輯不是在服務(wù)器端產(chǎn)生的,而是由包含在一個(gè)或多個(gè)報(bào)告單元122中的定制單元產(chǎn)生。因此,根據(jù)圖2描述的系統(tǒng),服務(wù)器系統(tǒng)仍舊能夠按照已經(jīng)從一個(gè)目標(biāo)單元的報(bào)告單元212接收的設(shè)備標(biāo)識(shí)符112的列表,從驅(qū)動(dòng)器池104選擇驅(qū)動(dòng)器的子組204,需要驅(qū)動(dòng)器池104用來控制已提交列表112的目標(biāo)系統(tǒng)206的硬件設(shè)備。區(qū)別是服務(wù)器系統(tǒng)將核心程序邏輯106和確定的驅(qū)動(dòng)器子組204作為一條或多條消息中的單條數(shù)據(jù)發(fā)送給目標(biāo)系統(tǒng)206。驅(qū)動(dòng)器子組與核心程序邏輯的結(jié)合由目標(biāo)系統(tǒng)執(zhí)行來創(chuàng)建定制程序邏輯。[0081]圖3是更詳細(xì)描述服務(wù)器系統(tǒng)和目標(biāo)系統(tǒng)的一些組件的框圖。分布式計(jì)算機(jī)系統(tǒng)300可包括經(jīng)由網(wǎng)絡(luò)320相互連接的至少服務(wù)器系統(tǒng)302和至少目標(biāo)系統(tǒng)314及322。目標(biāo)系統(tǒng)314包括主存儲(chǔ)器316。加載到所述存儲(chǔ)器中的引導(dǎo)加載器318包括一些功能,使所述引導(dǎo)加載器能夠標(biāo)識(shí)所有硬件設(shè)備DeVil、DeV2和Dev5,如圖形處理器、非易失性存儲(chǔ)介質(zhì)或網(wǎng)絡(luò)卡,并發(fā)送所述列表到服務(wù)器系統(tǒng)302的定制單元108。[0082]服務(wù)器系統(tǒng)包括處理器304和主存儲(chǔ)器306。此外,非易失性存儲(chǔ)介質(zhì)308操作地與服務(wù)器系統(tǒng)302連接。存儲(chǔ)介質(zhì)包括驅(qū)動(dòng)器的池104,其中所述池包括比控制系統(tǒng)300的任一目標(biāo)系統(tǒng)實(shí)際所需多得多的驅(qū)動(dòng)器。另外,核心程序邏輯106,比如,不包括任一目標(biāo)系統(tǒng)的任何硬件設(shè)備驅(qū)動(dòng)器的核心配置引擎106存儲(chǔ)在存儲(chǔ)介質(zhì)上。在其它實(shí)施變型(未示出)中,方框106可以不代表配置引擎,而是完全OS。定制單元108可操作以從報(bào)告單元318接收硬件設(shè)備標(biāo)識(shí)符的列表112,報(bào)告單元318在此是每個(gè)目標(biāo)系統(tǒng)314的帶有設(shè)備標(biāo)識(shí)能力的小引導(dǎo)加載器。定制單元評(píng)估接收到的列表,標(biāo)識(shí)由所述列表標(biāo)識(shí)的驅(qū)動(dòng)器的子組310,將所述標(biāo)識(shí)的驅(qū)動(dòng)器子組310注入核心配置引擎中。由此,創(chuàng)建了定制程序邏輯,這種情況下為定制的配置引擎,例如定制的WinPE。配置模塊312可操作以配置配置引擎110到目標(biāo)系統(tǒng)314,從目標(biāo)系統(tǒng)接收到列表112。定制配置引擎被加載到目標(biāo)系統(tǒng)的存儲(chǔ)器316中,并使用其注入的驅(qū)動(dòng)器DR01、DR02和DR05以從服務(wù)器下載相應(yīng)的完全OS。所述驅(qū)動(dòng)器使下載的完全OS能控制各個(gè)設(shè)備Dev1、Dev2和Dev5以引導(dǎo),和可選地操作目標(biāo)系統(tǒng)314。OS-下載步驟可包括從服務(wù)器系統(tǒng)302下載完全操作系統(tǒng)及存儲(chǔ)下載的完全OS到非易失性存儲(chǔ)介質(zhì)。[0083]圖4描述使用硬件管理模塊404作為報(bào)告單元的目標(biāo)系統(tǒng)402。該目標(biāo)系統(tǒng)402可以是如例如圖1-圖3中描述的分布式網(wǎng)絡(luò)引導(dǎo)環(huán)境100、200、300的要素。目標(biāo)系統(tǒng)包括主存儲(chǔ)器410,其包含標(biāo)準(zhǔn)引導(dǎo)加載器406。標(biāo)準(zhǔn)引導(dǎo)加載器(即網(wǎng)絡(luò)引導(dǎo)程序)通過作用(leverage)PXE服務(wù)請(qǐng)求從服務(wù)器系統(tǒng)對(duì)配置系統(tǒng)的配置。服務(wù)器系統(tǒng)可接收該請(qǐng)求并向硬件管理模塊404的接口發(fā)送命令以觸發(fā)硬件管理模塊標(biāo)識(shí)所有硬件設(shè)備DeVl、DeV2和Dev5,這些硬件設(shè)備與目標(biāo)系統(tǒng)402操作地連接。硬件管理模塊404產(chǎn)生包括硬件設(shè)備DeVl、DeV2和Dev5的標(biāo)識(shí)符的列表,并將此列表發(fā)送至服務(wù)器系統(tǒng)。這使得服務(wù)器系統(tǒng)的定制單元108能提取可操作以控制目標(biāo)系統(tǒng)402的驅(qū)動(dòng)器的驅(qū)動(dòng)器的子列表以及產(chǎn)生僅包括所述子組的驅(qū)動(dòng)器的輕量的、定制的配置引擎408。定制的配置引擎408由服務(wù)器系統(tǒng)的配置單元配置到目標(biāo)系統(tǒng)402的主存儲(chǔ)器410。在此,定制的配置引擎可被執(zhí)行,例如,用于對(duì)一些盤分區(qū)或與服務(wù)器系統(tǒng)交互操作以便經(jīng)由網(wǎng)絡(luò)下載相應(yīng)的完全操作系統(tǒng),以及用于在定制的配置引擎相應(yīng)的一個(gè)驅(qū)動(dòng)器的幫助下將下載的操作系統(tǒng)存儲(chǔ)到非易失性存儲(chǔ)介質(zhì)。[0084]在再成像系統(tǒng)中,不一定需要定制配置引擎和相應(yīng)的完全OS的連續(xù)下載。實(shí)際上,核心圖像,如果跟必需的驅(qū)動(dòng)器結(jié)合,則已包括OS和其它運(yùn)行時(shí)間環(huán)境指令,其應(yīng)最終配置到目標(biāo)單元并由終端用戶使用。[0085]圖5描述了一種方法的流程圖,該方法包括步驟:在步驟502,確定一個(gè)或多個(gè)硬件設(shè)備,該硬件設(shè)備操作地連接到分布的網(wǎng)絡(luò)引導(dǎo)系統(tǒng)的至少一個(gè)目標(biāo)系統(tǒng),例如裸金屬配置系統(tǒng)或再成像系統(tǒng)。該步驟由駐留在一個(gè)目標(biāo)系統(tǒng)的報(bào)告單元完成。在步驟504,報(bào)告單元將確定的硬件設(shè)備的設(shè)備標(biāo)識(shí)符列表112發(fā)送到服務(wù)器系統(tǒng)。在步驟506,服務(wù)器系統(tǒng)接收設(shè)備標(biāo)識(shí)符列表,以及在步驟508,從驅(qū)動(dòng)器的較大組選擇驅(qū)動(dòng)器的子組。例如,所述驅(qū)動(dòng)器的子組可通過評(píng)估包括設(shè)備標(biāo)識(shí)符和相關(guān)聯(lián)的驅(qū)動(dòng)器或驅(qū)動(dòng)器標(biāo)識(shí)符的映射來標(biāo)識(shí)。由此,對(duì)于每個(gè)設(shè)備標(biāo)識(shí)符,服務(wù)器系統(tǒng)從驅(qū)動(dòng)器池選擇至少一個(gè)驅(qū)動(dòng)器。該至少一個(gè)所選的驅(qū)動(dòng)器可以是一組候選驅(qū)動(dòng)器。在步驟510,服務(wù)器系統(tǒng)的定制單元(或在已發(fā)出列表的目標(biāo)系統(tǒng)中報(bào)告單元的功能性對(duì)應(yīng)的子模塊)以所述所選的驅(qū)動(dòng)器子組補(bǔ)充核心程序邏輯。從而產(chǎn)生了定制程序邏輯。[0086]圖6示出經(jīng)由網(wǎng)絡(luò)從服務(wù)器系統(tǒng)302下載定制的配置引擎和相應(yīng)的操作系統(tǒng)用于引導(dǎo)目標(biāo)系統(tǒng)314的過程。目標(biāo)系統(tǒng)314—開始可以是不包括任何操作系統(tǒng)的“裸金屬”目標(biāo)系統(tǒng)602。裸金屬目標(biāo)系統(tǒng)602可自動(dòng)地或在用戶與所述系統(tǒng)交互下發(fā)送命令604以初始化目標(biāo)系統(tǒng)的引導(dǎo)。該命令可以通過使用由PXE引導(dǎo)系統(tǒng)藍(lán)圖提供的固件和/或軟件設(shè)施發(fā)出。當(dāng)收到命令604時(shí),在步驟606,服務(wù)器系統(tǒng)經(jīng)由網(wǎng)絡(luò)發(fā)送引導(dǎo)加載器(當(dāng)做NBP)到裸金屬目標(biāo)系統(tǒng)。引導(dǎo)加載器318被加載到目標(biāo)系統(tǒng)的存儲(chǔ)器中并在步驟608開始。弓丨導(dǎo)加載器在步驟610自動(dòng)確定一組硬件設(shè)備,該組硬件設(shè)備操作地連接到目標(biāo)系統(tǒng)。在步驟612,引導(dǎo)加載器318將設(shè)備標(biāo)識(shí)符的列表發(fā)送到服務(wù)器系統(tǒng),從而使得服務(wù)器系統(tǒng)能在步驟614確定可操作以控制目標(biāo)系統(tǒng)的硬件設(shè)備的可用驅(qū)動(dòng)器的子組。服務(wù)器系統(tǒng)在步驟616產(chǎn)生包括確定的驅(qū)動(dòng)器子組的定制的配置引擎,并在步驟618將定制的配置引擎發(fā)送到目標(biāo)系統(tǒng)。定制的配置引擎包括所有引導(dǎo)目標(biāo)系統(tǒng)所需的驅(qū)動(dòng)器,僅此而已。在目標(biāo)系統(tǒng)中,定制的配置引擎加載到主存儲(chǔ)器中。在步驟622,定制的配置引擎與服務(wù)器系統(tǒng)交互操作以使用定制的配置引擎的一個(gè)驅(qū)動(dòng)器,下載與定制的配置引擎對(duì)應(yīng)的完全操作系統(tǒng),并且將完全操作系統(tǒng)存儲(chǔ)在非易失性存儲(chǔ)介質(zhì)(Dev2)中。然后,配置引擎下載相應(yīng)的OS并將其存儲(chǔ)到硬盤。下載的OS可用于直接控制引導(dǎo)的目標(biāo)系統(tǒng)。經(jīng)由網(wǎng)絡(luò)引導(dǎo)裸金屬目標(biāo)系統(tǒng)可包括配置引擎例如通過將經(jīng)由網(wǎng)絡(luò)接收的OS文檔和驅(qū)動(dòng)器拷貝到硬盤來啟動(dòng)OS的安裝。為了完成安裝,重新引導(dǎo)目標(biāo)系統(tǒng)一次或多次。一旦OS文檔的拷貝及定制化已經(jīng)完成,目標(biāo)系統(tǒng)再次引導(dǎo),并且部分安裝的OS進(jìn)行控制以完成安裝過程?!緳?quán)利要求】1.一種產(chǎn)生定制的程序邏輯(110,408)的計(jì)算機(jī)實(shí)現(xiàn)的方法,所述定制的程序邏輯可操作以控制至少一個(gè)目標(biāo)系統(tǒng)(116-120,206-210,314,402)的硬件設(shè)備(Devl_Dev7),該方法包括:-由至少一個(gè)目標(biāo)系統(tǒng)的報(bào)告單元(122,318,404)確定(502)與至少一個(gè)目標(biāo)系統(tǒng)操作地連接的一個(gè)或多個(gè)硬件設(shè)備;-由所述報(bào)告單元發(fā)送(504)已確定的硬件設(shè)備的標(biāo)識(shí)符的第一列表(112)到服務(wù)器系統(tǒng)(102,202,302);一由所述服務(wù)器系統(tǒng)接收(506)設(shè)備標(biāo)識(shí)符的第一列表;一由所述服務(wù)器系統(tǒng)對(duì)于在接收到的第一列表中的每個(gè)設(shè)備標(biāo)識(shí)符,從一組驅(qū)動(dòng)器(DR01-DR08)自動(dòng)選擇(508)可操作以控制所述標(biāo)識(shí)的設(shè)備的至少一個(gè)驅(qū)動(dòng)器,由此產(chǎn)生所述驅(qū)動(dòng)器組的子組(204,310);-以所述驅(qū)動(dòng)器子組自動(dòng)補(bǔ)充(510)核心程序邏輯(106),由此產(chǎn)生所述定制的程序邏輯。2.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,一其中,所述報(bào)告單元是所述核心程序邏輯的引導(dǎo)加載器(318),所述引導(dǎo)加載器已配置到至少一個(gè)目標(biāo)系統(tǒng)(314)的存儲(chǔ)器(316),所述核心程序邏輯是配置引擎(110)或操作系統(tǒng);或一其中,所述報(bào)告單元是已配置到至少一個(gè)目標(biāo)系統(tǒng)的存儲(chǔ)器的另外的程序邏輯;或一其中,所述報(bào)告單元`是至少一個(gè)目標(biāo)系統(tǒng)(402)的硬件管理模塊(404)。3.根據(jù)任一在前權(quán)利要求所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,一其中,所述核心程序邏輯是沒有驅(qū)動(dòng)器組的任何一個(gè)驅(qū)動(dòng)器的配置引擎(106),且可操作以與服務(wù)器交互地配置操作系統(tǒng);或-其中,所述核心程序邏輯是沒有驅(qū)動(dòng)器組的任何一個(gè)驅(qū)動(dòng)器的操作系統(tǒng);或一其中,所述核心程序邏輯是運(yùn)行時(shí)間環(huán)境的圖像,所述圖像沒有驅(qū)動(dòng)器組的任何一個(gè)驅(qū)動(dòng)器,并且其中所述定制的程序邏輯是所述圖像和驅(qū)動(dòng)器子組的結(jié)合,所述定制的程序邏輯可操作以在已經(jīng)被安裝在至少一個(gè)目標(biāo)系統(tǒng)上之后控制所述至少一個(gè)目標(biāo)系統(tǒng)的設(shè)備。4.根據(jù)任一在前權(quán)利要求所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中,所述補(bǔ)充由服務(wù)器系統(tǒng)執(zhí)行,所述服務(wù)器系統(tǒng)操作地連接已經(jīng)存儲(chǔ)所述驅(qū)動(dòng)器組和所述核心程序邏輯的存儲(chǔ)介質(zhì),該方法進(jìn)一步包括:-發(fā)送定制程序邏輯(110)到至少一個(gè)目標(biāo)系統(tǒng)。5.根據(jù)權(quán)利要求4所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中,發(fā)送定制的程序邏輯到至少一個(gè)目標(biāo)系統(tǒng)包括發(fā)送定制的程序邏輯到多個(gè)目標(biāo)系統(tǒng),所述目標(biāo)系統(tǒng)的每個(gè)包括與已經(jīng)將設(shè)備標(biāo)識(shí)符的第一列表發(fā)送給服務(wù)器系統(tǒng)的目標(biāo)系統(tǒng)包括的相同設(shè)備類型的設(shè)備。6.根據(jù)在前權(quán)利要求1-3的任何一個(gè)所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中,所述補(bǔ)充由至少一個(gè)目標(biāo)系統(tǒng)的報(bào)告單元(122,318,404)執(zhí)行,其中,所述服務(wù)器系統(tǒng)操作地連接已經(jīng)存儲(chǔ)所述驅(qū)動(dòng)器組和所述核心程序邏輯(106)的存儲(chǔ)介質(zhì)(308),在補(bǔ)充核心程序邏輯之前,該方法進(jìn)一步包括:-由服務(wù)器系統(tǒng)發(fā)送所述核心程序邏輯與所述驅(qū)動(dòng)器子組到至少一個(gè)目標(biāo)系統(tǒng);和-由所述至少一個(gè)目標(biāo)系統(tǒng)接收所述核心程序邏輯和所述驅(qū)動(dòng)器子組。7.根據(jù)權(quán)利要求6所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中,發(fā)送所述核心程序邏輯到至少一個(gè)目標(biāo)系統(tǒng)包括發(fā)送核心程序邏輯到分別包括相同設(shè)備類型或不同設(shè)備類型的設(shè)備的多個(gè)目標(biāo)系統(tǒng);以及其中,發(fā)送驅(qū)動(dòng)器子組到至少一個(gè)目標(biāo)系統(tǒng)包括選擇性地發(fā)送驅(qū)動(dòng)器子組到一個(gè)或多個(gè)目標(biāo)系統(tǒng),所述一個(gè)或多個(gè)目標(biāo)系統(tǒng)分別包括與已發(fā)送第一列表到服務(wù)器系統(tǒng)的目標(biāo)系統(tǒng)包括的相同設(shè)備類型的設(shè)備。8.根據(jù)在前權(quán)利要求6-7的任何一個(gè)所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,進(jìn)一步包括:-通過由至少一個(gè)目標(biāo)系統(tǒng)的報(bào)告單元提交給服務(wù)器系統(tǒng)的驅(qū)動(dòng)器-下載-命令,觸發(fā)將驅(qū)動(dòng)器子組從服務(wù)器系統(tǒng)發(fā)送到至少一個(gè)目標(biāo)系統(tǒng)。9.根據(jù)任一在前權(quán)利要求所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,進(jìn)一步包括:-為確定預(yù)定義的程序邏輯中包含的設(shè)備驅(qū)動(dòng)器,由所述服務(wù)器系統(tǒng)分析所述預(yù)定義的程序邏輯;一將沒有由接收的第一列表中包含的任何一個(gè)設(shè)備標(biāo)識(shí)符標(biāo)識(shí)的所有確定的設(shè)備驅(qū)動(dòng)器從所述預(yù)定義的程序邏輯中移除,由此產(chǎn)生定制的程序邏輯,或通過從所述預(yù)定義的程序邏輯中移除所有確定的設(shè)備驅(qū)動(dòng)器產(chǎn)生核心程序邏輯。10.根據(jù)任一在前權(quán)利要求所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,進(jìn)一步包括:一由至少一個(gè)目標(biāo)系統(tǒng)的報(bào)告單元經(jīng)由網(wǎng)絡(luò)(114)從服務(wù)器系統(tǒng)接收引導(dǎo)命令;其中,所述引導(dǎo)命令的接收觸發(fā)設(shè)備標(biāo)識(shí)符的第一列表的產(chǎn)生和發(fā)送。11.根據(jù)任一在前權(quán)利要求所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中,對(duì)于一個(gè)或多個(gè)目標(biāo)系統(tǒng)的第一個(gè)產(chǎn)生所述定制的程序邏輯,該方法還包括:一從目標(biāo)系統(tǒng)中的第二個(gè)接收設(shè)備標(biāo)識(shí)符的第二列表,所述第二列表與第一列表中的設(shè)備標(biāo)識(shí)符共享多個(gè)的設(shè)備標(biāo)識(shí)符,所述第二列表包括未包含在所述第一列表中的至少一個(gè)設(shè)備標(biāo)識(shí)符;-通過以至少一個(gè)驅(qū)動(dòng)器補(bǔ)充對(duì)于第一目標(biāo)系統(tǒng)產(chǎn)生的定制的程序邏輯而產(chǎn)生用于第二目標(biāo)系統(tǒng)的另外的定制的程序邏輯,所述至少一個(gè)驅(qū)動(dòng)器可操作以控制由沒有包含在設(shè)備標(biāo)識(shí)符的第一列表中的第二列表的至少一個(gè)設(shè)備標(biāo)識(shí)符標(biāo)識(shí)的至少一個(gè)設(shè)備;-將所述另外的定制的程序邏輯發(fā)送到所述第二目標(biāo)系統(tǒng)。12.根據(jù)任一在前權(quán)利要求所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中,對(duì)于目標(biāo)系統(tǒng)的至少一個(gè)硬件設(shè)備,所述驅(qū)動(dòng)器子組包括用于控制目標(biāo)系統(tǒng)的硬件設(shè)備之一的多個(gè)候選驅(qū)動(dòng)器,該方法進(jìn)一步包括:一通過包含在定制的程序邏輯中的驅(qū)動(dòng)器的方式來引導(dǎo)目標(biāo)系統(tǒng);-a)在引導(dǎo)目標(biāo)系統(tǒng)的同時(shí),由定制的程序邏輯選擇候選驅(qū)動(dòng)器中的第一個(gè)以控制所述硬件設(shè)備;-bl)在所述第一候選驅(qū)動(dòng)器被確定為可操作以控制所述硬件設(shè)備的情況下,在存儲(chǔ)介質(zhì)中存儲(chǔ)所述候選驅(qū)動(dòng)器能夠控制所述硬件設(shè)備的指示,并繼續(xù)目標(biāo)系統(tǒng)的引導(dǎo)而不使用所述硬件設(shè)備的其它候選驅(qū)動(dòng)器用于控制所述硬件設(shè)備;-b2)在所述第一候選驅(qū)動(dòng)器被確定為不可操作以控制所述硬件設(shè)備的情況下,在存儲(chǔ)介質(zhì)中存儲(chǔ)所述候選驅(qū)動(dòng)器不能控制所述硬件設(shè)備的指示,并重新引導(dǎo)目標(biāo)系統(tǒng),其中,當(dāng)重新引導(dǎo)時(shí),通過選擇沒有在之前的重新引導(dǎo)循環(huán)中選擇的另一個(gè)候選驅(qū)動(dòng)器來重復(fù)步驟a)和b),直到至少一個(gè)候選驅(qū)動(dòng)器被標(biāo)識(shí)為可操作以控制所述硬件設(shè)備為止。13.一種用于產(chǎn)生定制的程序邏輯(110,408)的計(jì)算機(jī)實(shí)現(xiàn)的系統(tǒng),該定制的程序邏輯可操作以控制至少一個(gè)目標(biāo)系統(tǒng)(116-120,206-210,314,402)的硬件設(shè)備(Devl_Dev7),該系統(tǒng)包括:一用于由至少一個(gè)目標(biāo)系統(tǒng)的報(bào)告單元(122,318,404)確定(502)與至少一個(gè)目標(biāo)系統(tǒng)操作地連接的一個(gè)或多個(gè)硬件設(shè)備的裝置;一用于由所述報(bào)告單元發(fā)送(504)已確定的硬件設(shè)備的標(biāo)識(shí)符的第一列表(112)到服務(wù)器系統(tǒng)(102,202,302)的裝置;一用于由所述服務(wù)器系統(tǒng)接收(506)設(shè)備標(biāo)識(shí)符的第一列表的裝置;一用于由所述服務(wù)器系統(tǒng)對(duì)于在接收到的第一列表中的每個(gè)設(shè)備標(biāo)識(shí)符,從一組驅(qū)動(dòng)器(DR01-DR08)自動(dòng)選擇(508)可操作以控制標(biāo)識(shí)的設(shè)備的至少一個(gè)驅(qū)動(dòng)器,由此產(chǎn)生所述驅(qū)動(dòng)器組的子組(204,310)的裝置;一用于以所述驅(qū)動(dòng)器子組補(bǔ)充(510)核心程序邏輯(106),由此產(chǎn)生所述定制的程序邏輯的裝置。14.根據(jù)權(quán)利要求13所述的計(jì)算機(jī)實(shí)現(xiàn)的系統(tǒng),一其中,所述報(bào)告單元是核心程序邏輯的引導(dǎo)加載器(318),所述引導(dǎo)加載器已配置到至少一個(gè)目標(biāo)系統(tǒng)(314)的存儲(chǔ)器(316),所述核心程序邏輯是配置引擎(110)或操作系統(tǒng);或一其中,所述報(bào)告單元是已配置到至少一個(gè)目標(biāo)系統(tǒng)的存儲(chǔ)器的另外的程序邏輯;或一其中,所述報(bào)告單元是至少一個(gè)目標(biāo)系統(tǒng)(402)的硬件管理模塊(404)。15.根據(jù)任一在前權(quán)利要求所述的計(jì)算機(jī)實(shí)現(xiàn)的系統(tǒng),一其中,所述核心程序邏輯是沒有驅(qū)動(dòng)器組的任何一個(gè)驅(qū)動(dòng)器的配置引擎(106),且其可操作以與服務(wù)器交互地配置操作系統(tǒng);或一其中,所述核心程序邏輯是沒有驅(qū)動(dòng)器組的任何一個(gè)驅(qū)動(dòng)器的操作系統(tǒng);或一其中,所述核心程序邏輯是運(yùn)行時(shí)間環(huán)境的圖像,所述圖像沒有驅(qū)動(dòng)器組的任何一個(gè)驅(qū)動(dòng)器,并且其中定制的程序邏輯是所述圖像和驅(qū)動(dòng)器子組的結(jié)合,所述定制的程序邏輯可操作以在已經(jīng)被安裝在至少一個(gè)目標(biāo)系統(tǒng)上之后控制所述至少一個(gè)目標(biāo)系統(tǒng)的設(shè)備。16.根據(jù)任一在前權(quán)利要求所述的計(jì)算機(jī)實(shí)現(xiàn)的系統(tǒng),其中,所述補(bǔ)充由服務(wù)器系統(tǒng)執(zhí)行,所述服務(wù)器系統(tǒng)操作地連接已經(jīng)存儲(chǔ)驅(qū)動(dòng)器組和核心程序邏輯的存儲(chǔ)介質(zhì),該系統(tǒng)進(jìn)一步包括:-用于發(fā)送定制程序邏輯(110)到至少一個(gè)目標(biāo)系統(tǒng)的裝置。17.根據(jù)權(quán)利要求16所述的計(jì)算機(jī)實(shí)現(xiàn)的系統(tǒng),其中,發(fā)送定制的程序邏輯到至少一個(gè)目標(biāo)系統(tǒng)包括發(fā)送定制的程序邏輯到多個(gè)目標(biāo)系統(tǒng),所述目標(biāo)系統(tǒng)的每個(gè)包括與已經(jīng)將設(shè)備標(biāo)識(shí)符的第一列表發(fā)送給服務(wù)器系統(tǒng)的目標(biāo)系統(tǒng)包括的相同設(shè)備類型的設(shè)備。18.根據(jù)在前權(quán)利要求1-3的任何一個(gè)所述的計(jì)算機(jī)實(shí)現(xiàn)的系統(tǒng),其中,所述補(bǔ)充由至少一個(gè)目標(biāo)系統(tǒng)的報(bào)告單元(122,318,404)執(zhí)行,其中,服務(wù)器系統(tǒng)操作地連接已經(jīng)存儲(chǔ)驅(qū)動(dòng)器組和核心程序邏輯(106)的存儲(chǔ)介質(zhì)(308),在補(bǔ)充核心程序邏輯之前,該系統(tǒng)進(jìn)一步包括:--用于由服務(wù)器系統(tǒng)發(fā)送核心程序邏輯與驅(qū)動(dòng)器子組到至少一個(gè)目標(biāo)系統(tǒng)的裝置;和--用于由所述至少一個(gè)目標(biāo)系統(tǒng)接收核心程序邏輯和驅(qū)動(dòng)器子組的裝置。19.根據(jù)權(quán)利要求18所述的計(jì)算機(jī)實(shí)現(xiàn)的系統(tǒng),其中,發(fā)送該核心程序邏輯到至少一個(gè)目標(biāo)系統(tǒng)包括發(fā)送核心程序邏輯到分別包括相同設(shè)備類型或不同設(shè)備類型的設(shè)備的多個(gè)目標(biāo)系統(tǒng);以及其中,發(fā)送驅(qū)動(dòng)器子組到至少一個(gè)目標(biāo)系統(tǒng)包括選擇性地發(fā)送驅(qū)動(dòng)器子組到一個(gè)或多個(gè)目標(biāo)系統(tǒng),所述一個(gè)或多個(gè)目標(biāo)系統(tǒng)分別包括與已發(fā)送第一列表到服務(wù)器系統(tǒng)的目標(biāo)系統(tǒng)包括的相同設(shè)備類型的設(shè)備。20.根據(jù)在前權(quán)利要求18-19的任何一個(gè)所述的計(jì)算機(jī)實(shí)現(xiàn)的系統(tǒng),進(jìn)一步包括:一用于通過由至少一個(gè)目標(biāo)系統(tǒng)的報(bào)告單元提交給服務(wù)器系統(tǒng)的驅(qū)動(dòng)器-下載-命令,觸發(fā)將驅(qū)動(dòng)器子組從服務(wù)器系統(tǒng)發(fā)送到至少一個(gè)目標(biāo)系統(tǒng)的裝置。21.根據(jù)任一在前權(quán)利要求所述的計(jì)算機(jī)實(shí)現(xiàn)的系統(tǒng),進(jìn)一步包括:一用于為確定預(yù)定義的程序邏輯中包含的設(shè)備驅(qū)動(dòng)器,由服務(wù)器系統(tǒng)分析所述預(yù)定義的程序邏輯的裝置;一用于將沒有由接收的第一列表中包含的任何一個(gè)設(shè)備標(biāo)識(shí)符標(biāo)識(shí)的所有確定的設(shè)備驅(qū)動(dòng)器從所述預(yù)定義的程序邏輯中移除,由此產(chǎn)生定制的程序邏輯,或通過從所述預(yù)定義的程序邏輯中移除所有確定的設(shè)備驅(qū)動(dòng)器產(chǎn)生核心程序邏輯的裝置。22.根據(jù)任一在前權(quán)利要求所述的計(jì)算機(jī)實(shí)現(xiàn)的系統(tǒng),進(jìn)一步包括:一用于由至少一個(gè)目標(biāo)系統(tǒng)的報(bào)告單元經(jīng)由網(wǎng)絡(luò)(114)從服務(wù)器系統(tǒng)接收引導(dǎo)命令的裝置;其中,所述引導(dǎo)命令的接收觸發(fā)設(shè)備標(biāo)識(shí)符的第一列表的產(chǎn)生和發(fā)送。23.根據(jù)任一在前權(quán)利要求所述的計(jì)算機(jī)實(shí)現(xiàn)的系統(tǒng),其中,對(duì)于一個(gè)或多個(gè)目標(biāo)系統(tǒng)的第一個(gè)產(chǎn)生所述定制的程序邏輯,該系統(tǒng)進(jìn)一步包括:一用于從目標(biāo)系統(tǒng)的第二個(gè)中接收設(shè)備標(biāo)識(shí)符的第二列表的裝置,所述第二列表與第一列表中的設(shè)備標(biāo)識(shí)符共享多個(gè)的設(shè)備標(biāo)識(shí)符,所述第二列表包括未包含在第一列表中的至少一個(gè)設(shè)備標(biāo)識(shí)符;一用于通過以至少一個(gè)驅(qū)動(dòng)器補(bǔ)充對(duì)于第一目標(biāo)系統(tǒng)產(chǎn)生的定制的程序邏輯而產(chǎn)生用于第二目標(biāo)系統(tǒng)的另外的定制的程序邏輯的裝置,所述至少一個(gè)驅(qū)動(dòng)器可操作以控制由沒有包含在設(shè)備標(biāo)識(shí)符的第一列表中的第二列表的至少一個(gè)設(shè)備標(biāo)識(shí)符標(biāo)識(shí)的至少一個(gè)設(shè)備;一用于將另外的定制的程序邏輯發(fā)送到第二目標(biāo)系統(tǒng)的裝置。24.根據(jù)任一在前權(quán)利要求所述的計(jì)算機(jī)實(shí)現(xiàn)的系統(tǒng),其中,對(duì)于目標(biāo)系統(tǒng)的至少一個(gè)硬件設(shè)備,驅(qū)動(dòng)器子組包括用于控制目標(biāo)系統(tǒng)的硬件設(shè)備之一的多個(gè)候選驅(qū)動(dòng)器,該系統(tǒng)進(jìn)一步包括:一用于通過包含在定制的程序邏輯中的驅(qū)動(dòng)器的方式來引導(dǎo)目標(biāo)系統(tǒng)的裝置;-a)引導(dǎo)目標(biāo)系統(tǒng)的同時(shí),由定制的程序邏輯選擇候選驅(qū)動(dòng)器中的第一個(gè)以控制所述硬件設(shè)備;-bl)在所述第一候選驅(qū)動(dòng)器被確定為可操作以控制所述硬件設(shè)備的情況下,在存儲(chǔ)介質(zhì)中存儲(chǔ)所述候選驅(qū)動(dòng)器能夠控制所述硬件設(shè)備的指示,并繼續(xù)引導(dǎo)目標(biāo)系統(tǒng)而不使用所述硬件設(shè)備的其它候選驅(qū)動(dòng)器用于控制所述硬件設(shè)備;-b2)在所述第一候選驅(qū)動(dòng)器被確定為不可操作以控制所述硬件設(shè)備的情況下,在存儲(chǔ)介質(zhì)中存儲(chǔ)所述候選驅(qū)動(dòng)器不能控制所述硬件設(shè)備的指示,并重新引導(dǎo)目標(biāo)系統(tǒng),其中,當(dāng)重新引導(dǎo)時(shí),通過選擇沒有在之前重新引導(dǎo)循環(huán)中選擇的另一個(gè)候選驅(qū)動(dòng)器來重復(fù)步驟a)和b),直到至少一個(gè)候選驅(qū)動(dòng)器被標(biāo)識(shí)為可操作以控制所述硬件設(shè)備為止。25.一種經(jīng)由網(wǎng)絡(luò)(114)連接到一個(gè)或多個(gè)目標(biāo)系統(tǒng)(116-120,206-210,314,402)的服務(wù)器系統(tǒng)(102,202,302),所述服務(wù)器系統(tǒng)適于:一從目標(biāo)系統(tǒng)之一接收設(shè)備標(biāo)識(shí)符的第一列表(112);一對(duì)于接收的第一列表中的每個(gè)設(shè)備標(biāo)識(shí)符從一組驅(qū)動(dòng)器自動(dòng)選擇(506)可操作以控制標(biāo)識(shí)的設(shè)備(DeVl-DeV7)的至少一個(gè)驅(qū)動(dòng)器(DR01-DR08),由此產(chǎn)生所述驅(qū)動(dòng)器組的子組(204,310);-將核心程序邏輯(106)提供給目標(biāo)系統(tǒng);以及一將驅(qū)動(dòng)器的子組提供給目標(biāo)系統(tǒng),其中,驅(qū)動(dòng)器的子組和核心程序邏輯的結(jié)合構(gòu)成可操作以控制所述目標(biāo)系統(tǒng)的設(shè)備的定制的程序邏輯(110,408)。26.—種經(jīng)由網(wǎng)絡(luò)(114)連接到服務(wù)器系統(tǒng)(102,202,302)的目標(biāo)系統(tǒng)(116-120,206-210,314,402),所述目標(biāo)系統(tǒng)包括硬件設(shè)備,所述目標(biāo)系統(tǒng)包括報(bào)告單元(122,318,404),其適于:一確定與所述目標(biāo)系統(tǒng)操作地連接的硬件設(shè)備(DeVil-DeV7);一將確定的硬件設(shè)備的標(biāo)識(shí)符的第一列表(112)發(fā)送到服務(wù)器系統(tǒng);-響應(yīng)于發(fā)送所述第一列表,從服務(wù)器系統(tǒng)接收驅(qū)動(dòng)器的子組(204,310),對(duì)于每個(gè)確定的硬件設(shè)備,所述驅(qū)動(dòng)器的子組包括可操作以控制所述硬件設(shè)備的各個(gè)驅(qū)動(dòng)器;-響應(yīng)于發(fā)送所述第一列表,從服務(wù)器系統(tǒng)接收核心程序邏輯;其中,驅(qū)動(dòng)器子組和核心程序邏輯的結(jié)合構(gòu)成可操作以控制所述目標(biāo)系統(tǒng)的設(shè)備的定制的程序邏輯。【文檔編號(hào)】G06F9/44GK103677807SQ201310450563【公開日】2014年3月26日申請(qǐng)日期:2013年9月25日優(yōu)先權(quán)日:2012年9月25日【發(fā)明者】B.帕斯托雷利,F.塞里,A.塞克曼迪,G.馬利亞尼,C.瑪麗內(nèi)里申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司