通過網(wǎng)絡(luò)對主機的自動化控制的制作方法
【專利摘要】由位于廣域網(wǎng)上的控制器來置備主機計算系統(tǒng)。主機計算系統(tǒng)具有在通電時自動執(zhí)行、并且使得主機向控制器通知主機地址的上電代碼。在第一級引導(dǎo)中,控制器指示主機下載維護操作系統(tǒng)。主機通過下載并安裝維護操作系統(tǒng)來作出響應(yīng),從而允許進一步引導(dǎo)。永久存儲器可以進一步具有允許主機計算系統(tǒng)將下載指令(及后續(xù)指令)的源安全地標(biāo)識成源自控制器的安全數(shù)據(jù)(諸如公鑰)。第二級引導(dǎo)可以實現(xiàn)使主機配置有管理程序和主機代理。第三級引導(dǎo)可以實現(xiàn)在主機上置備虛擬機。
【專利說明】通過網(wǎng)絡(luò)對主機的自動化控制
[0001]背景
[0002]“云計算”是用于允許對可配置計算資源(例如,網(wǎng)絡(luò)、服務(wù)器、存儲、應(yīng)用和服務(wù))的共享池的普遍存在、方便、按需網(wǎng)絡(luò)訪問的模型??膳渲糜嬎阗Y源的共享池可經(jīng)由虛擬化而被快速地置備,并可利用低管理努力或服務(wù)提供商交互來發(fā)布,并隨后相應(yīng)被縮放。云計算模型可由各種特性(如按需自服務(wù)、廣泛網(wǎng)絡(luò)訪問、資源池、快速靈活性、測量的服務(wù)等)、服務(wù)模型(如軟件即服務(wù)(“SaaS”)、平臺即服務(wù)(“PaaS”)、基礎(chǔ)結(jié)構(gòu)即服務(wù)(“IaaS”))以及部署模型(如私有云、社區(qū)云、公共云、混合云等)組成。實現(xiàn)云計算模型的環(huán)境通常被稱為云計算環(huán)境。
[0003]在典型的云計算環(huán)境中,主機計算系統(tǒng)群集向客戶端提供服務(wù)。作為示例,主機計算系統(tǒng)可能操作與客戶端對應(yīng)的虛擬機。常規(guī)上,每一群集包括本地控制器,該本地控制器用作使用適當(dāng)?shù)墓芾沓绦蚝椭鳈C代理來引導(dǎo)新主機,并且之后幫助置備通過該主機中的管理程序操作的新虛擬機。
[0004]簡要概述
[0005]本文描述的至少一個實施例涉及一種系統(tǒng),該系統(tǒng)包括主機計算系統(tǒng)以及通過廣域網(wǎng)通信地耦合至主機計算系統(tǒng)的控制器,該控制器與在同主機計算系統(tǒng)相同的群集內(nèi)、位于本地的常規(guī)控制器形成對比。
[0006]主機計算系統(tǒng)具有存儲主機計算系統(tǒng)的地址和控制器的地址的永久存儲器。此夕卜,主機計算系統(tǒng)具有在主機計算系統(tǒng)通電時自動地執(zhí)行并且使主機計算系統(tǒng)向控制器通知主機計算系統(tǒng)的地址的上電代碼。在第一級引導(dǎo)中,控制器指示主機計算系統(tǒng)下載維護操作系統(tǒng)。主機計算系統(tǒng)最初具有使主機計算系統(tǒng)能夠?qū)ο螺d指令作出響應(yīng)從而使得主機計算系統(tǒng)下載并安裝維護操作系統(tǒng)的下載代碼??梢赃M一步完成進一步的引導(dǎo)。
[0007]根據(jù)本文的一些實施例,在引導(dǎo)的該第一階段之前,主機計算系統(tǒng)被進一步置備有允許主機計算系統(tǒng)將下載指令(及后續(xù)指令)的源安全地標(biāo)識成源自控制器的安全數(shù)據(jù)。例如,主機計算系統(tǒng)的永久存儲器具有與控制器持有的私鑰相對應(yīng)的公鑰,以及允許主機計算系統(tǒng)解密控制器所傳送和加密的通信的解密代碼。
[0008]根據(jù)本文描述的一些實施例,主機計算系統(tǒng)可以使用維護操作系統(tǒng)來對從控制器接收到的更多不同的置備指令作出響應(yīng)。該第二級引導(dǎo)使得主機計算系統(tǒng)更具體地置備有管理程序和主機代理。主機代理可以在第三級引導(dǎo)中再進一步與控制器協(xié)作地交互以允許在主機計算系統(tǒng)上置備專用虛擬機。
[0009]因此,即使在與主機計算系統(tǒng)相同的群集中不存在位于本地的控制器的情況下,仍可置備主機計算系統(tǒng)??扇芜x地,控制器可以是另一主機計算系統(tǒng)群集的一部分,并且可以擔(dān)當(dāng)其他主機計算系統(tǒng)群集的遠(yuǎn)程控制器,由此允許各種各樣的控制器/主機拓?fù)浣Y(jié)構(gòu)。
[0010]本概述不旨在標(biāo)識出所要求保護的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定所要求保護的主題的范圍。
【專利附圖】
【附圖說明】
[0011]為了描述能夠獲得上述和其它優(yōu)點和特征的方式,各實施例的更具體的描述將通過參考各附圖來呈現(xiàn)??梢岳斫?,這些附圖只描繪了示例實施例,并且因此不被認(rèn)為是對其范圍的限制,將通過使用附圖并利用附加特征和細(xì)節(jié)來描述和解釋各實施例,在附圖中:
[0012]圖1示出在其中在此描述的一些實施例可被使用的計算系統(tǒng);
[0013]圖2抽象地示出一種系統(tǒng),其中主機計算系統(tǒng)經(jīng)由網(wǎng)絡(luò)通信地耦合至控制器,并且其中控制器可以與主機計算系統(tǒng)交互以置備主機計算系統(tǒng),并且其中該置備是使用存在于主機計算系統(tǒng)上的引導(dǎo)數(shù)據(jù)/代碼來引導(dǎo)的;
[0014]圖3抽象地示出運行虛擬機的主機,并且其中物理資源經(jīng)由管理程序來利用,該管理程序從虛擬機抽象物理資源并且改為提供虛擬機的虛擬資源;
[0015]圖4示出主機計算系統(tǒng),該主機計算系統(tǒng)表示在引導(dǎo)置備過程已開始之前圖2的主機計算系統(tǒng)的示例,并且其中更詳細(xì)地示出引導(dǎo)數(shù)據(jù)/代碼;
[0016]圖5解說置備方法的流程圖,其中主機計算系統(tǒng)與控制器協(xié)同地交互以使得主機計算系統(tǒng)被置備;
[0017]圖6示出引導(dǎo)的第一階段之后的圖2的系統(tǒng),其中維護操作系統(tǒng)被安裝在主機計算系統(tǒng)上;
[0018]圖7示出引導(dǎo)的第二階段之后的圖2的系統(tǒng),其中主機代理和管理程序被安裝在主機計算系統(tǒng)上;
[0019]圖8示出在置備的第三階段之后圖2的系統(tǒng),其中虛擬機被安裝在主機計算系統(tǒng)上;
[0020]圖9示出一種系統(tǒng),其中控制器幫助置備并控制多個主機計算系統(tǒng);
[0021]圖10示出一種系統(tǒng),其中控制器幫助置備并控制單個主機計算系統(tǒng)群集內(nèi)的多個主機計算系統(tǒng);以及
[0022]圖11示出一種系統(tǒng),其中控制器幫助置備并控制不同的主機計算系統(tǒng)群集內(nèi)的多個主機計算系統(tǒng)。
【具體實施方式】
[0023]根據(jù)本文描述的實施例,描述了由位于網(wǎng)絡(luò)上的控制器置備主機計算系統(tǒng)。主機計算系統(tǒng)具有在通電時自動執(zhí)行、并且使得主機計算系統(tǒng)向控制器通知主機地址的上電代碼。在第一級引導(dǎo)中,控制器指示主機計算系統(tǒng)下載維護操作系統(tǒng)。主機通過下載并安裝維護操作系統(tǒng)來作出響應(yīng),從而允許進一步引導(dǎo)。
[0024]永久存儲器可以進一步具有允許主機計算系統(tǒng)將下載指令(及后續(xù)指令)的源安全地標(biāo)識成源自控制器的安全數(shù)據(jù)(諸如公鑰)。第二級引導(dǎo)可以實現(xiàn)使主機計算系統(tǒng)配置有管理程序和主機代理。第三級引導(dǎo)可以實現(xiàn)在主機上置備虛擬機。首先,將參考圖1來描述關(guān)于計算系統(tǒng)的一些介紹性討論。隨后,該系統(tǒng)的各實施例將參考圖2到11來描述。
[0025]計算系統(tǒng)現(xiàn)在越來越多地采取多種多樣的形式。例如,計算系統(tǒng)可以是手持式設(shè)備、電器、膝上型計算機、臺式計算機、大型機、分布式計算系統(tǒng)或甚至常規(guī)上不被認(rèn)為是計算系統(tǒng)的設(shè)備。在本說明書以及權(quán)利要求書中,術(shù)語“計算系統(tǒng)”被廣義地定義為包括任何設(shè)備或系統(tǒng)(或其組合),該設(shè)備或系統(tǒng)包含至少一個物理有形的處理器以及其上能含有可由處理器執(zhí)行的計算機可執(zhí)行指令的物理有形的存儲器。存儲器可以采取任何形式,并可以取決于計算系統(tǒng)的性質(zhì)和形式。計算系統(tǒng)可以分布在網(wǎng)絡(luò)環(huán)境中,并可包括多個組分計算系統(tǒng)。
[0026]如圖1所示,在其最基本的配置中,計算系統(tǒng)100通常包括至少一個處理單元102和存儲器104。存儲器104可以是物理系統(tǒng)存儲器,該物理系統(tǒng)存儲器可以是易失性、非易失性、或兩者的某種組合。術(shù)語“存儲器”在此也可用來指諸如物理存儲介質(zhì)等非易失性大容量存儲。如果計算系統(tǒng)是分布式的,則處理、存儲器和/或存儲能力也可以是分布式的。如此處所使用的那樣,術(shù)語“模塊”或“組件”可以指在計算系統(tǒng)上執(zhí)行的軟件對象或例程。此處所描述的不同組件、模塊、引擎,以及服務(wù)可以實現(xiàn)為在計算系統(tǒng)上執(zhí)行的對象或進程(例如,作為分開的線程)。
[0027]在隨后的描述中,參考由一個或多個計算系統(tǒng)執(zhí)行的動作描述了各實施例。如果這樣的動作是以軟件實現(xiàn)的,則執(zhí)行動作的相關(guān)聯(lián)計算系統(tǒng)的一個或多個處理器響應(yīng)于已經(jīng)執(zhí)行了計算機可執(zhí)行指令來引導(dǎo)計算系統(tǒng)的操作。這樣的操作的示例涉及對數(shù)據(jù)的操縱。計算機可執(zhí)行指令(以及被操縱的數(shù)據(jù))可被存儲在計算系統(tǒng)100的存儲器104中。計算系統(tǒng)100還可包含允許計算系統(tǒng)100例如通過網(wǎng)絡(luò)110與其他消息處理器通信的通信信道108。
[0028]這里描述的各實施例可包括或利用專用或通用計算機,該專用或通用計算機包括諸如例如一個或多個處理器和系統(tǒng)存儲器等計算機硬件,如以下更詳細(xì)討論的。這里描述的各實施例還包括用于承載或存儲計算機可執(zhí)行指令和/或數(shù)據(jù)結(jié)構(gòu)的物理和其他計算機可讀介質(zhì)。這樣的計算機可讀介質(zhì)可以是可由通用或?qū)S糜嬎銠C系統(tǒng)訪問的任何可用介質(zhì)。存儲計算機可執(zhí)行指令的計算機可讀介質(zhì)是物理存儲介質(zhì)。承載計算機可執(zhí)行指令的計算機可讀介質(zhì)是傳輸介質(zhì)。由此,作為示例而非限制,本發(fā)明的各實施例可包括至少兩種顯著不同的計算機可讀介質(zhì):計算機存儲介質(zhì)和傳輸介質(zhì)。
[0029]計算機存儲介質(zhì)包括RAM、ROM、EEPROM、CD-ROM或其他光盤存儲、磁盤存儲或其他磁存儲設(shè)備、或可用于存儲計算機可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的所需程序代碼裝置且可由通用或?qū)S糜嬎銠C訪問的任何其他介質(zhì)。
[0030]“網(wǎng)絡(luò)”被定義為使得電子數(shù)據(jù)能夠在計算機系統(tǒng)和/或模塊和/或其它電子設(shè)備之間傳輸?shù)囊粋€或多個數(shù)據(jù)鏈路。當(dāng)信息通過網(wǎng)絡(luò)或另一個通信連接(硬連線、無線、或者硬連線或無線的組合)傳輸或提供給計算機時,該計算機將該連接適當(dāng)?shù)匾暈閭鬏斀橘|(zhì)。傳輸介質(zhì)可包括可用于攜帶計算機可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的所需程序代碼裝置且可由通用或?qū)S糜嬎銠C訪問的網(wǎng)絡(luò)和/或數(shù)據(jù)鏈路。上述的組合也應(yīng)被包括在計算機可讀介質(zhì)的范圍內(nèi)。
[0031]此外,在到達各種計算機系統(tǒng)組件之后,計算機可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的程序代碼資料可從傳輸介質(zhì)自動傳輸?shù)接嬎銠C存儲介質(zhì)(或反之亦然)。例如,通過網(wǎng)絡(luò)或數(shù)據(jù)鏈路接收到的計算機可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)可被緩存在網(wǎng)絡(luò)接口模塊(例如,“NIC”)內(nèi)的RAM中,然后最終被傳輸?shù)接嬎銠C系統(tǒng)RAM和/或計算機系統(tǒng)處的較不易失性的計算機存儲介質(zhì)。因而,應(yīng)當(dāng)理解,計算機存儲介質(zhì)可被包括在還利用(或甚至主要利用)傳輸介質(zhì)的計算機系統(tǒng)組件中。
[0032]計算機可執(zhí)行指令例如包括,當(dāng)在處理器處執(zhí)行時使通用計算機、專用計算機、或?qū)S锰幚碓O(shè)備執(zhí)行某一功能或某組功能的指令和數(shù)據(jù)。計算機可執(zhí)行指令可以是例如二進制代碼、諸如匯編語言之類的中間格式指令、或甚至源代碼。盡管用結(jié)構(gòu)特征和/或方法動作專用的語言描述了本主題,但可以理解,所附權(quán)利要求書中定義的主題不必限于上述特征或動作。更具體而言,上述特征和動作是作為實現(xiàn)權(quán)利要求的示例形式而公開的。
[0033]本領(lǐng)域的技術(shù)人員將理解,本發(fā)明可以在具有許多類型的計算機系統(tǒng)配置的網(wǎng)絡(luò)計算環(huán)境中實踐,這些計算機系統(tǒng)配置包括個人計算機、臺式計算機、膝上型計算機、消息處理器、手持式設(shè)備、多處理器系統(tǒng)、基于微處理器的或可編程消費電子設(shè)備、網(wǎng)絡(luò)PC、小型計算機、大型計算機、移動電話、PDA、尋呼機、路由器、交換機等等。本發(fā)明也可在其中通過網(wǎng)絡(luò)鏈接(或者通過硬連線數(shù)據(jù)鏈路、無線數(shù)據(jù)鏈路,或者通過硬連線和無線數(shù)據(jù)鏈路的組合)的本地和遠(yuǎn)程計算機系統(tǒng)兩者都執(zhí)行任務(wù)的分布式系統(tǒng)環(huán)境中實施。在分布式系統(tǒng)環(huán)境中,程序模塊可以位于本地和遠(yuǎn)程存儲器存儲設(shè)備二者中。
[0034]圖2示出系統(tǒng)200,其中主機計算系統(tǒng)201經(jīng)由網(wǎng)絡(luò)203通信地耦合至控制器202。在本說明書和權(quán)利要求書中,兩個實體在其能夠彼此通信的情況下是“通信地耦合”的。主機計算系統(tǒng)201可以如上針對圖1的計算系統(tǒng)100所述地被構(gòu)造??刂破?02同樣可以是計算系統(tǒng)(諸如圖1的計算系統(tǒng)100),或者可能是運行在這一計算系統(tǒng)上的軟件模塊。網(wǎng)絡(luò)203例如可以是因特網(wǎng)、廣域網(wǎng)、局域網(wǎng)、企業(yè)網(wǎng)絡(luò)、或任何其他類型的網(wǎng)絡(luò)。在一些實施例中,系統(tǒng)200可以被合并到云計算環(huán)境中。
[0035]在該描述和下面的權(quán)利要求書中,“云計算”被定義為用于允許對可配置計算資源(例如,網(wǎng)絡(luò)、服務(wù)器、存儲、應(yīng)用和服務(wù))的共享池的按需網(wǎng)絡(luò)訪問的模型?!霸朴嬎恪钡亩x不限于可從這樣的模型(在被合適地部署時)中獲得的任何其他多個優(yōu)點。
[0036]例如,云計算當(dāng)前在市場中被采用,以便提供對可配置計算資源的共享池的普遍存在且方便的按需訪問。此外,可配置計算資源的共享池可經(jīng)由虛擬化而被快速地置備,并可利用低管理努力或服務(wù)提供商交互來發(fā)布,并隨后相應(yīng)地被縮放。
[0037]云計算模型可由各種特性組成,諸如按需自服務(wù)、廣泛網(wǎng)絡(luò)訪問、資源池、快速靈活性、測定的服務(wù)等。云計算模型還可形成各種服務(wù)模型,諸如例如軟件即服務(wù)(“SaaS”)、平臺即服務(wù)(“PaaS”)以及基礎(chǔ)結(jié)構(gòu)即服務(wù)(“IaaS”)。云計算模型還可以使用不同的部署模型來部署,諸如私有云、社區(qū)云、公共云和混合云等。在該描述和權(quán)利要求書中,“云計算環(huán)境”是其中采用了云計算的環(huán)境。
[0038]主機計算系統(tǒng)201最初在其上僅具有引導(dǎo)數(shù)據(jù)/代碼210。這樣的引導(dǎo)數(shù)據(jù)/代碼210存在于永久存儲器中,以使得在主機計算系統(tǒng)201最初被引導(dǎo)時存在該引導(dǎo)數(shù)據(jù)/代碼210。引導(dǎo)數(shù)據(jù)/代碼210用于允許主機計算系統(tǒng)201采取步驟以經(jīng)由網(wǎng)絡(luò)203與控制器202通信,以使得主機計算系統(tǒng)210能具有能夠提供虛擬機可在其中操作的環(huán)境的完全可操作的管理程序和主機代理。在更多地描述關(guān)于主機計算系統(tǒng)的置備過程之前,現(xiàn)在將描述置備過程的這一最后結(jié)束狀態(tài)。
[0039]一旦置備完全,主機計算系統(tǒng)就能夠運行一個或更多個且潛在地許多虛擬機。例如,圖3抽象地更詳細(xì)地示出主機計算系統(tǒng)300。作為示例,主機計算系統(tǒng)300可以表示在使用下文參考圖4至8描述的技術(shù)經(jīng)置備之后的主機計算系統(tǒng)201。在圖3的情況中,主機300被示為操作包括虛擬機310A、310B和310C的三個虛擬機310。然而,省略號310D表示本文描述的原理不受主機300上運行的虛擬機的數(shù)量限制。主機計算系統(tǒng)上運行的虛擬機可能有少至零個,唯一的上限由主機300的物理能力來限定。
[0040]在操作期間,虛擬機模擬完全可操作的計算系統(tǒng),包括至少一個操作系統(tǒng)并且也許還包括一個或多個其他應(yīng)用。每一虛擬機可用來運行應(yīng)用,諸如與其他應(yīng)用交互的服務(wù)或與人類用戶交互的程序。
[0041]主機計算系統(tǒng)300包括管理程序320,管理程序320使用從虛擬機310的觀點看抽象出的物理資源321來模擬虛擬機310的虛擬資源。管理程序321還在這些虛擬機310之間提供合適的隔離。因此,從任何給定虛擬機的角度來看,管理程序320提供了虛擬機正與物理資源對接的幻象,盡管虛擬機僅與物理資源的表象(例如,虛擬資源)對接,而沒有與物理資源直接對接。在圖3中,物理資源321被抽象地表示為包括資源321A至321F。物理資源321的示例包括處理能力、存儲器、盤空間、網(wǎng)絡(luò)帶寬、媒體驅(qū)動器等。主機計算系統(tǒng)300可以操作主機代理302,主機代理302監(jiān)視主機計算系統(tǒng)的性能并且執(zhí)行管理主機計算系統(tǒng)的其他操作。
[0042]圖4示出主機計算系統(tǒng)400,其表示在引導(dǎo)置備過程之前圖2的主機計算系統(tǒng)210的示例。主機計算系統(tǒng)400具有存儲數(shù)據(jù)410和代碼420的永久存儲器401。數(shù)據(jù)410和代碼420的組合表示圖2的引導(dǎo)數(shù)據(jù)/代碼210的一個示例。該數(shù)據(jù)410和代碼420占據(jù)少量存儲器,并且可裝入計算系統(tǒng)的固件中。因此,固件是圖4的永久存儲器401的一個示例。無論如何,永久存儲器401能夠保持當(dāng)被寫入固件時永久存在并且到主機計算系統(tǒng)400下次通電時得以幸存的數(shù)據(jù)。
[0043]數(shù)據(jù)410包括主機計算系統(tǒng)400 (例如,主機計算系統(tǒng)201)的主機地址411,以及控制器202的控制器地址412。另外,數(shù)據(jù)410可以包括安全數(shù)據(jù)413,安全數(shù)據(jù)413允許主機計算系統(tǒng)400識別由控制器202傳送的通信。例如,安全數(shù)據(jù)413可以是與私鑰相對應(yīng)的公鑰,該私鑰由控制器202擁有、與控制器202相對應(yīng)、或由控制器202持有。因此,主機計算系統(tǒng)201可以使用公鑰來解密由控制器202使用對應(yīng)私鑰加密的通信。
[0044]代碼420包括被配置成在主機計算系統(tǒng)通電時自動執(zhí)行的上電代碼421。例如,上電代碼421包括控制器通知代碼421A,但省略號421B表示可能存在在主機計算系統(tǒng)通電時也自動執(zhí)行的其他代碼??刂破魍ㄖa421A使用控制器的控制器地址向控制器202通知主機地址。例如,主機地址和控制器地址可以是網(wǎng)際協(xié)議(IP)地址。在這種情況下,控制器通知代碼421A可以是能夠使用IP協(xié)議將消息分派到控制器的IP地址并且包括包含主機的IP地址的有效載荷的任何代碼。
[0045]代碼420還包括能觸發(fā)代碼422,該代碼422是在主機計算系統(tǒng)通電時不自動執(zhí)行而是在其他特定事件發(fā)生時被觸發(fā)的代碼。例如,下載代碼422A在被執(zhí)行時使得主機計算系統(tǒng)201響應(yīng)于來自控制器的下載指令下載并安裝維護操作系統(tǒng)實例,并且由此完成對主機計算系統(tǒng)進行引導(dǎo)置備的第一階段。這樣的已安裝維護操作系統(tǒng)允許主機計算系統(tǒng)對來自控制器的進一步且更具變化和定制的指令作出響應(yīng)。例如,進一步指令可以使得主機計算系統(tǒng)使用維護操作系統(tǒng)實例來使主機計算系統(tǒng)置備有主機代理和管理程序。該進一步置備表示引導(dǎo)置備主機計算系統(tǒng)的第二階段,并且使主機計算系統(tǒng)處于準(zhǔn)備好操作虛擬機的形式。
[0046]能觸發(fā)代碼還包括控制器識別代碼422B,控制器識別代碼422B在被執(zhí)行時允許主機計算系統(tǒng)識別由控制器傳送的通信。作為示例,也許控制器識別代碼422B使用公鑰來解密來自控制器、使用對應(yīng)私鑰加密的通信。假定私鑰為控制器獨占,那么主機計算系統(tǒng)201可以基于解密已成功地產(chǎn)生可讀有效載荷消息的事實來認(rèn)證該通信的確來自控制器202。
[0047]省略號422C表示能觸發(fā)代碼422還可以包括響應(yīng)于特定事件的能觸發(fā)的其他代碼。盡管數(shù)據(jù)410和代碼420被示為覆蓋圖4中的主機400的較大區(qū)域,但這僅僅為了清楚地示出永久存儲器401的組件。數(shù)據(jù)410和代碼420占據(jù)的實際空間相比于主機計算系統(tǒng)400的總體存儲器和存儲能力而言實際上相當(dāng)小,并且或許被永久存儲在裝載主機計算系統(tǒng)400的固件中。
[0048]圖5解說置備方法500的流程圖,其中主機計算系統(tǒng)與控制器協(xié)同地交互以使得主機計算系統(tǒng)被置備。例如,參考圖2,主機計算系統(tǒng)201和控制器202協(xié)同交互以使得主機計算系統(tǒng)201被置備。方法500的一些動作由主機計算系統(tǒng)執(zhí)行,如在圖5的左欄中標(biāo)題“主機”下所表示的。方法500的其他動作由控制器執(zhí)行,如在圖5的右欄中標(biāo)題“控制器”下所表示的。此外,置備方法500可發(fā)生在三個引導(dǎo)階段中,如由第一引導(dǎo)階段510、第二引導(dǎo)階段520和第三引導(dǎo)階段530所表示的。
[0049]方法500在主機計算系統(tǒng)通電時啟動(動作511)。例如,或許技術(shù)人員或其他工作者簡單地按下主機計算系統(tǒng)的功率致動器。替換地,或許向主機計算系統(tǒng)分派信號使得主機計算系統(tǒng)通電。在一些實施例中,這表示完全置備主機計算系統(tǒng)(除了確保合適的網(wǎng)絡(luò)連接以外)工作者必需做的整個范圍。主機置備的其余部分可使用本文描述的三階段引導(dǎo)過程自動發(fā)生。在該階段,主機/控制器系統(tǒng)200由圖2的系統(tǒng)200表示,其中主機計算系統(tǒng)201通過網(wǎng)絡(luò)203通信地耦合至控制器202,并且其中主機計算系統(tǒng)201具有引導(dǎo)數(shù)據(jù)/代碼210,并且引導(dǎo)數(shù)據(jù)/代碼210的示例是圖4的數(shù)據(jù)410和代碼420。
[0050]響應(yīng)于主機通電,上電代碼被自動執(zhí)行(動作512)。例如,上電代碼可以是圖4中示出的上電代碼421,其包括控制器通知代碼42IA。
[0051]相應(yīng)地,主機計算系統(tǒng)隨后向控制器通知主機地址(動作513)。例如,如前所述,當(dāng)控制器通知代碼421A被執(zhí)行時,使得主機400 (或主機201)向控制器202通知主機地址。這是可能的,因為數(shù)據(jù)410包括可作為有效載荷被包括到這一消息的主機地址411、以及可用來正確地將消息定向至控制器的控制器地址412。作為另一實施例,主機400可廣播請求,該請求可由網(wǎng)絡(luò)上的其他主機接收,并且這些主機用主機、控制器的地址或兩者的地址來作出響應(yīng)。作為另一實施例,主機400可從本地服務(wù)器(諸如DHCP服務(wù)器)檢索一個IP地址,并且隨后在與遠(yuǎn)程控制器202通信時使用該IP地址。作為該通信的一部分,控制器可以向主機400分配另一地址并且潛在地命令主機將該地址存儲在其數(shù)據(jù)410中。
[0052]假定網(wǎng)絡(luò)連通性適當(dāng),控制器隨后接收對主機地址的通知(動作514)。如果主機處的工作者注意到置備主機沒有自動發(fā)生,則工作者可重新檢測網(wǎng)絡(luò)連通性,或許驗證控制器的適當(dāng)操作,并且隨后重新使主機計算系統(tǒng)通電。然而,假定操作適當(dāng),控制器就擁有主機地址。作為替換實施例,如果這一步或置備的任何其他步驟失敗,則可向在主機400的物理位置處負(fù)責(zé)主機的工作者發(fā)送警告、工作單、或電子郵件。
[0053]響應(yīng)于通知,控制器向主機計算系統(tǒng)提供下載指令(動作515)。主機計算系統(tǒng)隨后從控制器接收下載指令(動作516)。例如,參考圖2,主機計算系統(tǒng)201向控制器202通知主機計算系統(tǒng)201的地址,并且作為響應(yīng),控制器202向主機計算系統(tǒng)201提供下載指令。
[0054]可任選地,主機計算系統(tǒng)201隨后驗證下載指令是由控制器傳送的(動作517)。這可使用圖4的安全數(shù)據(jù)413來實現(xiàn)。例如,如果安全數(shù)據(jù)413是與用來加密這一下載指令的私鑰對應(yīng)的公鑰,則該公鑰可用來解密下載指令,從而允許主機計算系統(tǒng)解譯下載指令。
[0055]主機計算系統(tǒng)隨后被構(gòu)造成通過自動下載維護操作系統(tǒng)(動作518)來對下載指令作出響應(yīng),維護操作系統(tǒng)隨后在主機上被安裝(動作519)。例如,接收下載指令可觸發(fā)下載代碼422A。下載指令或許可以是多個指令。例如,可能存在來自控制器的使得主機計算系統(tǒng)下載維護操作系統(tǒng)的一個指令,以及來自控制器的使得主機計算系統(tǒng)安裝維護操作系統(tǒng)的另一指令。作為替換或補充,可能存在使得主機操作系統(tǒng)在維護操作系統(tǒng)上設(shè)置一個或多個配置設(shè)置的配置指令。因此,無論哪種情況下將指令描述成從控制器被傳送到主機計算系統(tǒng),一個或多個組分指令消息都可被傳送以實現(xiàn)此目的。
[0056]這完成了引導(dǎo)置備過程的階段一 510 (或第一級)。圖6示出與圖2的系統(tǒng)200類似的系統(tǒng)600,除了現(xiàn)在主機計算系統(tǒng)201被更改(如由主機計算系統(tǒng)201’表示的)以包括所安裝的維護操作系統(tǒng)601。引導(dǎo)數(shù)據(jù)/代碼210未示出,因為其與引導(dǎo)置備的后續(xù)階段較不相關(guān),但引導(dǎo)數(shù)據(jù)/代碼210仍可存在于主機計算系統(tǒng)201’上。例如,若是軟件在主機計算系統(tǒng)上變得損壞,這樣的引導(dǎo)數(shù)據(jù)/代碼210對于重新執(zhí)行對主機計算系統(tǒng)的引導(dǎo)置備可能是有用的。
[0057]在置備過程的階段二 520,自維護操作系統(tǒng)601被安裝以來,現(xiàn)在主機計算系統(tǒng)201’具有它能夠?qū)ζ渥鞒鲰憫?yīng)的更復(fù)雜且更多樣的指令集。一旦控制器確定維護操作系統(tǒng)被安裝在主機計算系統(tǒng)上(動作521),第二階段520就可以開始。例如,一旦維護操作系統(tǒng)601被安裝在主機計算系統(tǒng)201’上,主機計算系統(tǒng)201’就可以向主機計算系統(tǒng)202傳送通知消息。作為替換或補充,在周期性地向主機計算系統(tǒng)201’傳送確認(rèn)請求之前,控制器202可允許經(jīng)過特定時間量。維護操作系統(tǒng)601可被配置成對這一請求作出響應(yīng),并且因此,缺少響應(yīng)可向控制器指示維護操作系統(tǒng)601尚未被安裝。在周期性確認(rèn)請求之后,成功響應(yīng)可被接收到,從而允許控制器202進一步前進至對主機計算系統(tǒng)201’的引導(dǎo)置備的階段二。
[0058]可以對控制器發(fā)出的多個置備指令中的每一個重復(fù)第二階段的其余部分522。例如,控制器發(fā)出置備指令(動作523),主機計算系統(tǒng)接收置備指令(動作524),主機計算系統(tǒng)驗證指令來自控制器(動作525)(例如,使用安全數(shù)據(jù)413,或先前使用安全數(shù)據(jù)413確認(rèn)為由控制器提供的秘密)。對于每個指令,主機計算系統(tǒng)對置備指令作出響應(yīng)(動作526)。
[0059]這些附加置備指令被設(shè)計成使得主機計算系統(tǒng)達到用管理程序和主機代理來操作。圖7示出與圖6的系統(tǒng)600類似的系統(tǒng)700,除了現(xiàn)在完全操作的主機操作存在于主機計算系統(tǒng)202”上,從而允許主機計算系統(tǒng)202”具有主機代理701和管理程序702。例如,主機計算系統(tǒng)202”可如上針對圖3的主機計算系統(tǒng)300所述地被構(gòu)造,除了主機計算系統(tǒng)202”上還沒有可操作的虛擬機。
[0060]在引導(dǎo)置備過程的第三階段530,控制器202現(xiàn)在可與主機代理協(xié)作以在主機計算系統(tǒng)上置備虛擬機。參考圖5,主機計算系統(tǒng)與控制器協(xié)作(動作531)以在主機計算系統(tǒng)上協(xié)同置備虛擬機,從而虛擬機可使用管理程序。同樣,控制器與主機計算系統(tǒng)協(xié)作(動作532)以在主機計算系統(tǒng)上協(xié)同置備虛擬機,從而虛擬機可使用管理程序。
[0061]圖8示出與圖6的系統(tǒng)700類似的系統(tǒng)800,除了現(xiàn)在虛擬機811、812和813在主機系統(tǒng)201”’中在管理程序702之上操作。省略號814表示主機計算系統(tǒng)201”’呈現(xiàn)的虛擬機數(shù)量的靈活性。例如,主機計算系統(tǒng)202”’可以如上針對圖3的主機計算系統(tǒng)300所述地被構(gòu)造。
[0062]圖2至8描述了其中控制器202幫助置備主機計算系統(tǒng)201的過程。然而,控制器202可多次執(zhí)行同一過程以置備多個主機計算系統(tǒng)。例如,圖9示出系統(tǒng)900,其類似于圖2、5、6和7中分別的系統(tǒng)200、500、600和700,除了現(xiàn)在存在通過網(wǎng)絡(luò)203通信地耦合至控制器202的第二主機計算系統(tǒng)901。此外,省略號902表示可能存在通過網(wǎng)絡(luò)203通信地耦合至控制器202的其他主機計算系統(tǒng)。這些其他主機計算系統(tǒng)也可使用控制器202按與以上針對主機計算系統(tǒng)201所述的相同方式來置備。
[0063]作為置備的第二階段的一部分,控制器可以不向主機計算系統(tǒng)的主機代理卸載控制器功能,或卸載控制器功能中的一些。因此,主機計算系統(tǒng)201、901和902中的一些主機計算系統(tǒng)可能在主機計算系統(tǒng)內(nèi)不具有控制器功能,而主機計算系統(tǒng)201、901和902中的其他主機計算系統(tǒng)可能在主機計算系統(tǒng)內(nèi)具有一些控制器功能。這使得不同水平的控制器功能能被卸載到這些主機計算系統(tǒng)。
[0064]控制器202可置備來自同一主機計算系統(tǒng)群集中的各主機計算系統(tǒng)。例如,圖10示出與圖9的系統(tǒng)900類似的系統(tǒng)1000,除了主機計算系統(tǒng)901被示為與主機計算系統(tǒng)201處于同一主機計算系統(tǒng)群集1001中。例如,群集1001包括主機計算系統(tǒng)201、主機計算系統(tǒng)901、主機計算系統(tǒng)1001、以及潛在地由省略號1003表示的其他主機計算系統(tǒng)。注意到控制器202不在群集1001內(nèi)。群集1001表示在本地保持多個主機計算系統(tǒng)的單個位置。
[0065]作為替換或補充,控制器202可置備來自不同群集的各主機計算系統(tǒng)。例如,圖11示出與圖9的系統(tǒng)900類似的系統(tǒng)1100,除了主機計算系統(tǒng)901被示為與主機計算系統(tǒng)201 (在群集1102中)處于不同主機計算系統(tǒng)群集1101中。例如,群集1101包括主機計算系統(tǒng)901、以及潛在地由省略號1111表示的其他主機計算系統(tǒng)。此外,群集1102包括主機計算系統(tǒng)201、以及潛在地由省略號1112表示的其他主機計算系統(tǒng)。
[0066]因此,本文描述的原理允許遠(yuǎn)程地置備和控制主機計算系統(tǒng)。本發(fā)明可具體化為其它具體形式而不背離其精神或本質(zhì)特征。所描述的實施例在所有方面都應(yīng)被認(rèn)為僅是說明性而非限制性的。因此,本發(fā)明的范圍由所附權(quán)利要求書而非前述描述指示。落入權(quán)利要求書的等效方案的含義和范圍內(nèi)的所有改變應(yīng)被權(quán)利要求書的范圍所涵蓋。
【權(quán)利要求】
1.一種系統(tǒng)(200),包括: 控制器(202);以及 通過廣域網(wǎng)(203)通信地耦合至所述控制器且具有永久存儲器(210、401)的主機計算系統(tǒng)(201、300),所述永久存儲器存儲所述主機計算系統(tǒng)的地址(411)和所述控制器的地址(412),所述永久存儲器進一步包括: 1)上電代碼(421),被配置成使用所述控制器的地址向所述控制器自動通知(513、514)所述主機計算系統(tǒng)的地址;以及 2)下載代碼(422A),被配置成響應(yīng)于來自所述控制器的下載指令(515、516),自動下載(518)并安裝(519)維護操作系統(tǒng)實例(601),其中一旦所述維護操作系統(tǒng)實例被安裝在所述主機計算系統(tǒng)上,所述主機計算系統(tǒng)可對來自所述控制器的進一步指令作出響應(yīng)。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述永久存儲器進一步存儲安全數(shù)據(jù),所述安全數(shù)據(jù)允許所述主機計算系統(tǒng)將通信識別成由所述控制器傳送。
3.如權(quán)利要求2所述的系統(tǒng),其特征在于,所述安全數(shù)據(jù)是與所述控制器持有的私鑰對應(yīng)的公鑰。
4.如權(quán)利要求3所述的系統(tǒng),其特征在于,來自所述控制器的所述下載指令由所述控制器使用所述私鑰加密,由此允許所述主機計算系統(tǒng)使用所述公鑰來解密所述下載指令。
5.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述主機計算系統(tǒng)是第一主機計算系統(tǒng),所述永久存儲器是第一永久存儲器,所述上電代碼是第一上電代碼,下載代碼是第一下載代碼,所述下載指令是第一下載指令,并且所述維護操作系統(tǒng)實例是第一維護操作系統(tǒng)實例,所述系統(tǒng)進一步包括: 通過網(wǎng)絡(luò)通信地耦合至所述控制器并具有第二永久存儲器的第二主機計算系統(tǒng),所述第二永久存儲器存儲所述第二主機計算系統(tǒng)的地址和所述控制器的所述地址,所述第二永久存儲器進一步包括: 1)第二上電代碼,被配置成使用所述控制器的所述地址向所述控制器自動通知所述第二主機計算系統(tǒng)的所述地址;以及 2)第二下載代碼,被配置成響應(yīng)于來自所述控制器的第二下載指令,自動下載并安裝第二維護操作系統(tǒng)實例,其中一旦所述第二維護操作系統(tǒng)實例被安裝在所述第二主機計算系統(tǒng)上,所述第二主機計算系統(tǒng)可對來自所述控制器的進一步指令作出響應(yīng)。
6.如權(quán)利要求5所述的系統(tǒng),其特征在于,所述控制器向所述第二主機計算系統(tǒng)的主機代理卸載控制器功能的一部分,該部分未被卸載到所述第一主機計算系統(tǒng)的主機代理。
7.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述進一步指令包括所述主機計算系統(tǒng)可使用所述維護操作系統(tǒng)實例對其作出響應(yīng)以使所述主機計算系統(tǒng)置備有主機代理和管理程序的指令。
8.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述控制器被配置成與所述主機代理協(xié)作以在所述主機計算系統(tǒng)上置備虛擬機。
9.一種用于主機計算系統(tǒng)(201、300)執(zhí)行對所述主機計算系統(tǒng)的置備的方法(500),所述方法包括: 響應(yīng)于所述主機計算系統(tǒng)(201、300)的通電(511),自動執(zhí)行(512)永久地存在于所述主機計算系統(tǒng)上的上電代碼(421),所述上電代碼在被執(zhí)行時使得所述主機計算系統(tǒng)通過廣域網(wǎng)(203)向遠(yuǎn)程控制器(202)通知(513)所述主機計算系統(tǒng)的地址(411); 響應(yīng)于向所述控制器通知所述主機計算系統(tǒng)的所述地址,接收(516)來自所述控制器的下載指令;以及 響應(yīng)于所述下載指令,所述主機計算系統(tǒng)自動下載(518)并安裝(519)維護操作系統(tǒng)(601)。
10.如權(quán)利要求9所述的方法,其特征在于,進一步包括: 驗證所述下載指令是由所述控制器傳送的。
【文檔編號】G06F9/445GK104395885SQ201380032651
【公開日】2015年3月4日 申請日期:2013年6月12日 優(yōu)先權(quán)日:2012年6月21日
【發(fā)明者】Y·A·卡利迪, D·班塞爾, C·金, S·坎杜拉, D·A·馬爾茨 申請人:微軟公司