在計算裝置中,無論該計算裝置是否開機(jī),頻帶外管理都可允許系統(tǒng)管理員監(jiān)控并管理組件。這可能涉及向計算裝置傳輸數(shù)據(jù)包以喚醒中央處理單元(CPU)以及操作系統(tǒng)來完成任務(wù)。
附圖說明
附圖中,相同的標(biāo)記指代相同的組件或框。以下詳細(xì)說明參照了該附圖,附圖中:
圖1是一種具有控制器的示例計算裝置的框圖,該控制器確定處理器是否處于低功率狀態(tài),并且作為響應(yīng),該控制器建立與管理服務(wù)器的通信以獲取命令;
圖2是一種包括控制器的示例計算裝置的框圖,該控制器監(jiān)控處理器何時進(jìn)入低功率狀態(tài),該控制器通過系統(tǒng)管理總線(SMBus)與引擎通信,該引擎建立與管理服務(wù)器的連接以獲取命令;
圖3是計算裝置與管理服務(wù)器之間的示例通信的框圖,該計算裝置包括處理器、控制器和用于與管理服務(wù)器通信的引擎;
圖4是一種示例方法的流程圖,該方法確定處理器何時處于低功率狀態(tài),并且作為響應(yīng),建立與管理服務(wù)器的連接以在處理器維持低功率狀態(tài)的同時從管理服務(wù)器獲取命令;
圖5是一種示例方法的流程圖,該方法確定處理器何時處于低功率狀態(tài)并且在處理器維持低功率狀態(tài)的同時從管理服務(wù)器獲取命令以用于執(zhí)行;
圖6是一種具有處理器的示例計算裝置的框圖,該處理器執(zhí)行機(jī)器可讀存儲介質(zhì)中的指令以通過網(wǎng)絡(luò)通信與引擎通信并且通過網(wǎng)絡(luò)獲取命令;并且
圖7是一種具有處理器的示例計算裝置的框圖,該處理器執(zhí)行機(jī)器可讀存儲介質(zhì)中的指令以建立與管理服務(wù)器的連接來獲取命令,并且在執(zhí)行該命令后切斷引擎的電源。
具體實施方式
可能難以管理在內(nèi)聯(lián)網(wǎng)和其他各種網(wǎng)絡(luò)之間漫游的移動裝置,因為管理服務(wù)器可能不知道在給定時間處將移動裝置可靠地定位在何處。此外,這些移動裝置可能花大量時間處于低功率狀態(tài),在低功率狀態(tài)下許多諸如中央處理單元的硬件子系統(tǒng)不執(zhí)行代碼。此類低功率狀態(tài)可包括例如待機(jī)、休眠、睡眠和關(guān)機(jī)。由此,這些狀況可能導(dǎo)致在給定時間處無法訪問該移動裝置并且因而無法管理該移動裝置。
為了解決這些問題,在此公開的示例通過經(jīng)由網(wǎng)絡(luò)獲取命令而管理計算裝置。在示例中,控制器可確定處理器是否處于低功率狀態(tài)。在確定處理器處于低功率狀態(tài)后,控制器可與管理服務(wù)器接觸以獲取命令。在這些示例中,控制器可保持上電狀態(tài),即使處理器(例如,中央處理單元和/或主處理器)處于低功率狀態(tài)。這使得控制器能夠與網(wǎng)絡(luò)的管理服務(wù)器接觸從而獨(dú)立于處理器提供計算裝置的狀態(tài)并且獲取命令。
在此討論的另一示例中,在處理器維持低功率狀態(tài)的同時,控制器執(zhí)行該命令。使控制器能夠執(zhí)行獲取的命令增加了從遠(yuǎn)程位置對計算裝置的可管理性,無論處理器的功率狀態(tài)如何。以此方式,使計算裝置能夠通過網(wǎng)絡(luò)獲取命令提供了通過各種類型的網(wǎng)絡(luò)實現(xiàn)通信的渠道。
在此討論的進(jìn)一步的示例中,在獲取命令之前,控制器通信處理器和/或計算裝置的狀態(tài)。在獲取命令之前傳送處理器的狀態(tài)提供了對計算裝置的額外監(jiān)督。這還使得管理服務(wù)器能夠確定計算裝置將執(zhí)行的下一個動作。
總之,在此公開的示例通過經(jīng)由網(wǎng)絡(luò)獲取命令而管理計算裝置。在示例中,控制器維持上電以通過網(wǎng)絡(luò)進(jìn)行連接,無論處理器的狀態(tài)如何,由此提供管理在各種網(wǎng)絡(luò)之間的計算裝置的獨(dú)立性。
現(xiàn)在參照附圖,圖1是一種包括控制器108的示例計算裝置102的框圖,該控制器108在模塊110處確定處理器104是否處于低功率狀態(tài)106。作為響應(yīng),控制器108可通過網(wǎng)絡(luò)建立與管理服務(wù)器112的用于通信的連接以獲取命令114。使得控制器108能夠通過網(wǎng)絡(luò)獲取命令114提供了對計算裝置102的管理機(jī)制,即使計算裝置102可在各種網(wǎng)絡(luò)位置之間漫游。此外,使得控制器108能夠通過網(wǎng)絡(luò)獲取命令114提供了對計算裝置的管理,無論處理器104的功率狀態(tài)如何。
計算裝置102是包括處理器104和能夠通過網(wǎng)絡(luò)與管理服務(wù)器112通信的控制器108的電子裝置。由此,計算裝置102的實施方式包括移動裝置、客戶端裝置、個人電腦、臺式電腦、筆記本電腦、平板電腦、便攜式裝置、電子游戲機(jī)或者能夠與管理服務(wù)器112接觸以獲取命令114的其他類型的電子裝置。雖然圖1將計算裝置102示出為包括硬件組件104和106,這僅用于示例的目的,因為計算裝置102還可包括存儲器組件、引擎組件和/或?qū)崿F(xiàn)通過網(wǎng)絡(luò)的連接的聯(lián)網(wǎng)外圍設(shè)備。此外,計算裝置102可經(jīng)由網(wǎng)絡(luò)通過有線或無線連接與管理服務(wù)器112通信。網(wǎng)絡(luò)可包括例如專用網(wǎng)、商用網(wǎng)、局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、云網(wǎng)絡(luò)等。此外,雖然圖1將管理服務(wù)器112以及計算裝置102表示為網(wǎng)絡(luò)的一部分,這僅用于示例的目的,因為計算裝置102可能處于與管理服務(wù)器112不同的網(wǎng)絡(luò)中。例如,計算裝置102可在專用網(wǎng)中漫游而管理服務(wù)器112可位于公共網(wǎng)中。
處理器104是計算裝置102內(nèi)的硬件組件,其可通過執(zhí)行基本操作而實施和/或執(zhí)行計算機(jī)程序(例如,操作系統(tǒng))的指令。操作系統(tǒng)駐留在處理器104上,在這種意義上,處理器104被視為是計算裝置102的主平臺和/或主處理器。以此方式,當(dāng)處理器104運(yùn)行時,比控制器108的運(yùn)行消耗更多的功率。操作系統(tǒng)可駐留在處理器104處,這樣,當(dāng)處理器104不執(zhí)行此操作系統(tǒng)時、處理器104可處于低功率狀態(tài)106。由此,處理器104可負(fù)責(zé)執(zhí)行操作系統(tǒng)和/或基本輸入輸出系統(tǒng)(BIOS)以實施計算裝置102的基本操作。處理器104的實施方式包括主平臺、主處理器、中央處理單元(CPU)、微處理器、半導(dǎo)體、集成電路或者能夠?qū)嵤┖?或執(zhí)行計算機(jī)程序的其他類型的電子裝置。
低功率狀態(tài)106表示切斷計算裝置102內(nèi)的處理器104的電源的各種狀態(tài)。由此,當(dāng)處理器104以低于正常功能水平操作并且由此消耗較少功率時、出現(xiàn)低功率狀態(tài)106。例如,低功率狀態(tài)106可包括:何時處理器204停止執(zhí)行計算裝置102的操作系統(tǒng)。低功率狀態(tài)106的實施方式可包括例如休眠狀態(tài)、睡眠狀態(tài)、關(guān)機(jī)狀態(tài)和諸如在高級配置和電源接口(ACPI)規(guī)范中定義的S3-S5的全局功率狀態(tài)等。在以下附圖中詳細(xì)討論此實施方式。
控制器108是包括用于確定處理器104是否處于低功率狀態(tài)106的模塊110的硬件組件??刂破?08是獨(dú)立于駐留在處理器104上的操作系統(tǒng)的架構(gòu)??刂破?08向計算裝置102提供額外的平臺能力。例如,控制器108可用于監(jiān)控溫度、控制風(fēng)扇、監(jiān)控電池充電等。在一個實施方式中,在獲取命令114之前、控制器108可將處理器104的狀態(tài)傳送給管理服務(wù)器112。在另一實施方式中,控制器108可將請求傳送給引擎以開啟與管理服務(wù)器112通過網(wǎng)絡(luò)的連接。在隨后的附圖中詳細(xì)地討論這些實施方式。一旦建立與網(wǎng)絡(luò)的連接,控制器108可利用標(biāo)準(zhǔn)協(xié)議(諸如基于表述性狀態(tài)轉(zhuǎn)移(REST)和/或腳本語言對象標(biāo)記(JSON)的協(xié)議)來核查在管理服務(wù)器112處是否有等待被獲取的命令114。在進(jìn)一步的實施方式中,控制器108可將請求傳送給管理服務(wù)器112。該請求可包括裝置標(biāo)識符,以用于將計算裝置102與其他可與管理服務(wù)器112通信的計算裝置區(qū)分開。此外,該請求可包括處理器104和/或計算裝置102的狀態(tài)的知識。控制器108的實施方式包括嵌入式控制器、微控制器、半導(dǎo)體、電子裝置、微芯片、芯片集或者能夠針對低功率狀態(tài)106監(jiān)控處理器104并且通過網(wǎng)絡(luò)進(jìn)行通信的其他類型的控制系統(tǒng)。
在模塊110處,控制器108確定處理器104是否處于低功率狀態(tài)106。在確定處理器104處于低功率狀態(tài)后,控制器108可傳送請求以通過網(wǎng)絡(luò)建立與管理服務(wù)器112的連接。在一個實施方式中,模塊110可包括針對低功率狀態(tài)106監(jiān)控處理器104。模塊110的實施方式可包括可由控制器108執(zhí)行以確定處理器104是否處于低功率狀態(tài)106的指令、指令集、進(jìn)程、操作、邏輯、技術(shù)、功能、固件和/或軟件。
管理服務(wù)器112是可響應(yīng)于請求而提供網(wǎng)絡(luò)服務(wù)的遍布于網(wǎng)絡(luò)的計算裝置,諸如數(shù)據(jù)存儲器。具體地,管理服務(wù)器112使得控制器108能夠獲取命令114以獨(dú)立于處理器104管理計算裝置102。管理服務(wù)器112的實施方式包括內(nèi)容提供商、存儲服務(wù)提供商、云服務(wù)器、局域網(wǎng)(LAN)服務(wù)器、網(wǎng)頁服務(wù)器、網(wǎng)絡(luò)服務(wù)器、文件服務(wù)器或者能夠保持命令114供控制器108獲取以管理計算裝置102的其他類型的計算裝置。
命令114是專用于計算裝置102的指令,使控制器108和/或其他組件執(zhí)行具體任務(wù)。當(dāng)獲取命令114后,控制器108可分析命令114以確定命令114是否可由控制器108執(zhí)行,或者確定控制器108是否應(yīng)喚醒處理器104處的諸如基本輸入輸出系統(tǒng)(BIOS)、虛擬機(jī)監(jiān)視器(hypervisor)和/或操作系統(tǒng)的子系統(tǒng)以實施命令114。例如,命令114可包括重啟計算裝置102、執(zhí)行存儲器擦除(wipe)、執(zhí)行硬盤擦除、更新應(yīng)用等。使得計算裝置102能夠通過網(wǎng)絡(luò)獲取命令114提供了通過各種網(wǎng)絡(luò)管理計算裝置102的靈活性。此外,命令114可在遠(yuǎn)程位置中演變,由此提供對計算裝置102的額外管理。
圖2是一種包括處理器204和控制器208的示例計算裝置202的框圖,控制器208在模塊210處針對低功率狀態(tài)206中的一種狀態(tài)監(jiān)控處理器204。低功率狀態(tài)206可包括休眠狀態(tài)220、關(guān)機(jī)狀態(tài)222和睡眠狀態(tài)224中的至少一種。在確定處理器204可經(jīng)歷低功率狀態(tài)220-224中的一種狀態(tài)后,控制器208通過系統(tǒng)管理總線(SMBus)226與引擎216通信。引擎216包括網(wǎng)絡(luò)堆棧220以通過網(wǎng)絡(luò)建立與管理服務(wù)器212的安全連接從而獲取命令214。命令214可通過引擎216經(jīng)由安全連接通過SMBus 226被傳送給控制器208。計算裝置202、處理器204和控制器208可在結(jié)構(gòu)和功能性上類似于如圖1中的計算裝置102、處理器104和控制器108。
低功率狀態(tài)206表示在給定時間處處理器204的功率狀態(tài)。當(dāng)處理器204以低于正常功能水平操作(例如,停止執(zhí)行處理器204處的操作系統(tǒng))時,出現(xiàn)低功率狀態(tài)206。低功率狀態(tài)206中的每個表示切斷計算裝置202內(nèi)的處理器204電源的各種狀態(tài)。例如,低功率狀態(tài)206可包括休眠狀態(tài)220、關(guān)機(jī)狀態(tài)222和/或睡眠狀態(tài)224。當(dāng)來自處理器204的內(nèi)容被保存到存儲器中并且切斷處理器204的電源時,出現(xiàn)休眠狀態(tài)220。關(guān)機(jī)狀態(tài)222也被稱為軟關(guān)機(jī),它是這樣一種狀態(tài):在這種狀態(tài)下,計算裝置202內(nèi)部的電源以最低限度供電,以使得能夠迅速地完全恢復(fù)到處理器204的正常功能。睡眠狀態(tài)224是這樣一種狀態(tài):在這種狀態(tài)下,處理器204可停止執(zhí)行指令。在另一示例中,低功率狀態(tài)可包括全局功率狀態(tài),諸如ACPI規(guī)范中定義的S3、S4和/或S5。
引擎216是計算裝置202內(nèi)的硬件組件,其被配置為認(rèn)證并建立與管理服務(wù)器212通過網(wǎng)絡(luò)的安全連接。引擎216是與處理器204分離的內(nèi)核并且可在處理器204處于低功率狀態(tài)206中的一種或多種狀態(tài)時被激活。引擎216包括提供從計算裝置202到管理服務(wù)器212的通過網(wǎng)絡(luò)的安全連接的網(wǎng)絡(luò)堆棧218。包括網(wǎng)絡(luò)堆棧218使得控制器208能夠獨(dú)立于處理器204通過網(wǎng)絡(luò)進(jìn)行通信。用于建立與管理服務(wù)器212的連接的網(wǎng)絡(luò)可包括有線和/或無線連接,例如可包括局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、云網(wǎng)絡(luò)、因特網(wǎng)、無線局域網(wǎng)(WLAN)等。以此方式,引擎216可通過網(wǎng)絡(luò)提供連接,即使處理器204處于包括休眠狀態(tài)220、關(guān)機(jī)狀態(tài)222和/或睡眠狀態(tài)224的低功率狀態(tài)206中的一種狀態(tài)下。當(dāng)控制器208在模塊210處針對低功率狀態(tài)220-224中的一種狀態(tài)監(jiān)控處理器204時,控制器208可通過經(jīng)由SMBus與引擎216通信而啟動網(wǎng)絡(luò)連接。在另一實施方式中,引擎216可包括應(yīng)用程序接口(AIP),以允許控制器208無縫地使用通過網(wǎng)絡(luò)的連接。
在計算機(jī)聯(lián)網(wǎng)的一個實施方式中,網(wǎng)絡(luò)堆棧218是一種協(xié)議堆棧。網(wǎng)絡(luò)堆棧220內(nèi)的每個協(xié)議模塊與其他協(xié)議模塊通信,并且由此可作為網(wǎng)絡(luò)堆棧220中的層而操作。層使得能夠通過網(wǎng)絡(luò)進(jìn)行通信,并且由此網(wǎng)絡(luò)堆棧218可包括物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會話層、表示層、應(yīng)用層、媒介層等。包括網(wǎng)絡(luò)堆棧218使得控制器208能夠獨(dú)立于處理器204通過網(wǎng)絡(luò)進(jìn)行通信。網(wǎng)絡(luò)堆棧218包括裝置驅(qū)動器和其他組件,以在計算裝置202上配置聯(lián)網(wǎng)外圍設(shè)備從而通過網(wǎng)絡(luò)進(jìn)行通信。
SMBus226是用于控制器208與引擎216之間的通信的單端型雙線式總線。在一個實施方式中,控制器208使用諸如標(biāo)準(zhǔn)管理組件傳輸協(xié)議(MCTP)的工業(yè)標(biāo)準(zhǔn)通過SMBus226與引擎216通信。在此實施方式中,MCTP被設(shè)計為支持控制器208與引擎216之間的平臺內(nèi)通信??刂破?08使用MCTP通過SMBus226進(jìn)行通信以調(diào)用引擎216上的一個或多個API從而通過網(wǎng)絡(luò)建立連接。
管理服務(wù)器212是可響應(yīng)于請求而提供網(wǎng)絡(luò)服務(wù)的遍布于網(wǎng)絡(luò)的計算裝置。管理服務(wù)器212提供用于使控制器208獨(dú)立于處理器204與管理服務(wù)器212接觸從而獲取命令214的機(jī)制。由此,管理服務(wù)器212提供管理計算裝置202的能力,無論計算裝置202的位置和/或功率狀態(tài)如何。命令214是用于使計算裝置202執(zhí)行具體任務(wù)的指令。在一個實施方式中,控制器208可執(zhí)行命令214而無需喚醒針對處理器204的子系統(tǒng)。在另一實施方式中,命令214可驅(qū)動BIOS和/或虛擬機(jī)監(jiān)視器的任務(wù)。在隨后附圖中詳細(xì)地討論這些實施方式。管理服務(wù)器212和命令214可在結(jié)構(gòu)和功能性上類似于如圖1中的管理服務(wù)器112和命令114。
圖3是計算裝置302與管理服務(wù)器312之間通過網(wǎng)絡(luò)的示例通信的框圖。計算裝置302包括進(jìn)入低功率狀態(tài)的處理器304以及檢測低功率狀態(tài)并與引擎316通信的控制器308。引擎316建立與管理服務(wù)器312的連接。在建立與管理服務(wù)器312的連接后,控制器308可通過引擎316傳送請求以獲取命令。計算裝置302和處理器304可在結(jié)構(gòu)和功能性上類似于如圖1-圖2中的計算裝置102、202和處理器104、204。控制器308和管理服務(wù)器312可在結(jié)構(gòu)和功能性上類似于如圖1-圖2中的控制器108、208和管理服務(wù)器312。引擎316可在結(jié)構(gòu)和功能性上類似于如圖2中的引擎216。
控制器308檢測處理器304何時進(jìn)入低功率狀態(tài)并與引擎316通信以啟動通過網(wǎng)絡(luò)的連接??刂破?08將請求傳送給引擎316,該請求可包括計算裝置302的裝置標(biāo)識符和處理器304的狀態(tài)。由此,引擎316開啟通過網(wǎng)絡(luò)與管理服務(wù)器312的連接。管理服務(wù)器312包括可通過作為來自控制器308的請求的一部分的裝置標(biāo)識符而被識別的命令。計算裝置302從管理服務(wù)器獲取該命令,以用于控制器308進(jìn)行分析從而確定該命令是否是控制器308將執(zhí)行的任務(wù)或者是否喚醒來自處理器304的子系統(tǒng)來完成。在一個實施方式中,控制器308可執(zhí)行命令而無需喚醒駐留在處理器304上的操作系統(tǒng)。在執(zhí)行命令后,控制器308與引擎316通信以切斷電源。
圖4是確定處理器何時處于低功率狀態(tài)并且作為響應(yīng)而建立與管理服務(wù)器的通過網(wǎng)絡(luò)的連接的示例方法的流程圖。在建立該連接以從管理服務(wù)器獲取命令后,處理器可維持在低功率狀態(tài)。在圖4的討論中,可參考圖1-圖2中的組件以提供上下文的示例。例如,在處理器保持在低功率狀態(tài)的同時,圖1-圖2中的控制器108和208執(zhí)行操作402-408以通過網(wǎng)絡(luò)獲取命令。在另一示例中,如圖1-圖2中的計算裝置102和202執(zhí)行操作402-408。此外,雖然圖4被描述為通過控制器和/或計算裝置實施,但其也可在其他適當(dāng)?shù)慕M件上執(zhí)行。例如,圖4可以以圖6-圖7中的機(jī)器可讀存儲介質(zhì)604和704上的可執(zhí)行指令的形式實施。
在操作402中,控制器確定處理器是否處于低功率狀態(tài)。在操作402中,控制器可實時運(yùn)行操作系統(tǒng),該操作系統(tǒng)可以在隔離執(zhí)行和存儲器中運(yùn)行任務(wù)。任務(wù)中的一個可包括處理器的功率狀態(tài)的知識。由此,在處理器轉(zhuǎn)換到低功率狀態(tài)中的一種狀態(tài)后,控制器使用此知識來檢測低功率狀態(tài)中的一種狀態(tài)。在一個實施方式中,在確定處理器處于低功率狀態(tài)后,控制器可繼續(xù)進(jìn)行至操作406以建立通過網(wǎng)絡(luò)的連接。如果控制器確定處理器不處于低功率狀態(tài),則控制器繼續(xù)進(jìn)行至操作404并且不建立通過網(wǎng)絡(luò)的連接。
在操作404中,在確定處理器不處于低功率狀態(tài)后,控制器不建立通過網(wǎng)絡(luò)的連接。在一個實施方式中,控制器可繼續(xù)監(jiān)控處理器以確定處理器何時可經(jīng)歷低功率狀態(tài)。在稍后詳細(xì)描述的其他實施例中,處理器的狀態(tài)可能不適合于為控制器建立通過網(wǎng)絡(luò)的連接。在接下來的附圖中詳細(xì)解釋了這些實施方式。
在操作406中,控制器啟動通過網(wǎng)絡(luò)的連接的建立。在實施方式中,周期性地觸發(fā)或者通過事件觸發(fā)通過網(wǎng)絡(luò)的連接。例如,控制器可周期性地嘗試建立通過網(wǎng)絡(luò)的連接。在另一示例中,連接的建立是通過事件觸發(fā)的,諸如在操作402中處理器進(jìn)入低功率狀態(tài)??刂破骺膳c引擎通信以啟動與管理服務(wù)器的安全通信連接??刂破鲗⑿盘杺魉徒o引擎以在引擎內(nèi)部實施網(wǎng)絡(luò)堆棧。此外,引擎啟動網(wǎng)絡(luò)堆棧以與聯(lián)網(wǎng)外圍設(shè)備接合。在另一實施方式中,控制器實施直接與聯(lián)網(wǎng)外圍設(shè)備接合的網(wǎng)絡(luò)堆棧??刂破骺赏ㄟ^引擎將請求傳送給管理服務(wù)器以用于工作或命令。此請求可包括裝置標(biāo)識符以識別該計算裝置。這使得能夠如在操作408中那樣從管理服務(wù)器獲取命令。在操作408中,一旦建立網(wǎng)絡(luò)連接,則控制器可利用標(biāo)準(zhǔn)協(xié)議(諸如基于表述性狀態(tài)轉(zhuǎn)移(REST)和/或腳本語言對象標(biāo)記(JSON)的協(xié)議)來核查在管理服務(wù)器處是否有等待被獲取的命令。此外,控制器可將處理器狀態(tài)的知識傳送給管理服務(wù)器。
在操作408中,控制器通過網(wǎng)絡(luò)獲取命令。在操作408中獲取命令后,控制器處理該命令以確定是否執(zhí)行,該命令可被直接處理或者由其他子系統(tǒng)執(zhí)行,諸如BIOS和/或虛擬機(jī)監(jiān)視器。由此,控制器可包括多個響應(yīng)。對獲取命令的此類響應(yīng)可包括例如維持處理器的現(xiàn)有狀態(tài)(即:沒有任務(wù)執(zhí)行)、執(zhí)行命令、喚醒處理器和駐留在處理器上的基本輸入輸出系統(tǒng)(BIOS)以執(zhí)行命令并/或喚醒用于虛擬機(jī)監(jiān)視器的處理器來執(zhí)行命令。然后,控制器可自己繼續(xù)執(zhí)行命令或喚醒相關(guān)子系統(tǒng)以執(zhí)行命令。
圖5是確定處理器何時處于低功率狀態(tài)并且通過網(wǎng)絡(luò)從管理服務(wù)器獲取命令的示例方法的流程圖。可在處理器維持在低功率狀態(tài)的同時執(zhí)行命令。使得控制器能夠執(zhí)行通過網(wǎng)絡(luò)獲取的命令增加了從遠(yuǎn)程位置對計算裝置的可管理性,即使處理器可能處于低功率狀態(tài)。以此方式,使得計算裝置能夠通過網(wǎng)絡(luò)獲取命令提供了用于通過各種類型的網(wǎng)絡(luò)進(jìn)行通信的渠道。在討論圖5時,可參考圖1-圖2中的組件從而提供上下文的示例。例如,在處理器維持在低功率狀態(tài)的同時,如圖1-圖2中的控制器108和208執(zhí)行操作502-518以通過網(wǎng)絡(luò)獲取命令。在另一示例中,如圖1-圖2中的計算裝置102和202執(zhí)行操作502-518。此外,雖然圖5被描述為通過控制器和/或計算裝置實施,但其也可在其他適當(dāng)?shù)慕M件上執(zhí)行。例如,圖5可以以如圖6-圖7中的機(jī)器可讀存儲介質(zhì)604和704上的可執(zhí)行指令的形式實施。
在操作502中,控制器可檢測處理器何時經(jīng)歷低功率狀態(tài)。當(dāng)處理器以低于正常功能水平操作時、出現(xiàn)低功率狀態(tài),由此可包括例如睡眠狀態(tài)、關(guān)機(jī)狀態(tài)、休眠狀態(tài)、待機(jī)狀態(tài)等。在另一示例中,低功率狀態(tài)可包括全局功率狀態(tài),諸如ACPI規(guī)范中定義的S3、S4和/或S5。在一個實施方式中,如果控制器確定處理器不處于低功率狀態(tài)中的一種狀態(tài),則如操作504中控制器繼續(xù)監(jiān)控處理器。在此實施方式中,如果控制器確定處理器處于低功率狀態(tài)中的一種狀態(tài),則控制器可繼續(xù)進(jìn)行至操作506以建立通過網(wǎng)絡(luò)的連接。操作502可在功能性上類似于如圖4中的操作402。
在操作504中,在確定處理器不處于低功率狀態(tài)中的一種狀態(tài)后,控制器繼續(xù)監(jiān)控處理器。在另一實施方式中,控制器可針對低功率狀態(tài)周期性地核查處理器。
在操作506中,控制器通過引擎建立與管理服務(wù)器的通過網(wǎng)絡(luò)的連接。操作506可包括建立與管理服務(wù)器的通過網(wǎng)絡(luò)的安全連接??刂破骺衫靡鎯?nèi)部的網(wǎng)絡(luò)堆棧,其可包括使用固件擴(kuò)展。使用引擎內(nèi)部的網(wǎng)絡(luò)堆棧生成與管理服務(wù)器的安全連接使得控制器能夠利用引擎提供安全連接而不是使用控制器內(nèi)部的傳輸控制協(xié)議堆棧。在另一實施方式中,控制器將請求通信至引擎以從管理服務(wù)器獲得命令??刂破骺墒褂霉芾斫M件傳輸協(xié)議(MCTP)通過SMBus與引擎通信。對引擎的請求包括啟動安全連接以及用于使管理服務(wù)器從其他計算裝置識別計算裝置的裝置標(biāo)識符。操作506可在功能性上類似于圖4中的操作406。
在操作508中,控制器可周期性地連接至管理服務(wù)器以建立連接。在此實施方式中,控制器可周期性地核查管理服務(wù)器以識別管理服務(wù)器是否具有用于計算裝置的指令。例如,在經(jīng)過特定時間段之后,控制器可嘗試通過網(wǎng)絡(luò)與管理服務(wù)器連接。
在操作510中,引擎通過網(wǎng)絡(luò)將來自控制器的請求通信至管理服務(wù)器。操作510可包括:引擎配置網(wǎng)絡(luò)硬件以啟動與管理服務(wù)器的安全連接。例如,引擎可配置網(wǎng)絡(luò)堆棧和/或端,其中通過網(wǎng)絡(luò)將計算裝置的通信傳送出來。
在操作512中,控制器與引擎通信以啟動從引擎到管理服務(wù)器的通信會話。在一個實施方式中,控制器通過SMBus將請求傳送給引擎,以用于建立通過網(wǎng)絡(luò)的安全會話??刂破鲗⒄埱髠魉徒o引擎以獲取命令,引擎反過來將該請求轉(zhuǎn)發(fā)給管理服務(wù)器。例如,此請求可包括裝置標(biāo)識符以從管理服務(wù)器處的其他計算裝置命令識別計算裝置。反過來,管理服務(wù)器使用裝置標(biāo)識符來獲取命令,并且隨后將命令傳送給引擎。引擎將命令轉(zhuǎn)發(fā)給控制器,控制器分析該命令并且由此可確定是由控制器自己執(zhí)行該命令還是喚醒子系統(tǒng)來實施該命令。例如,控制器可重啟計算裝置,但可喚醒包括BIOS的子系統(tǒng)以執(zhí)行存儲器的擦除。
在操作514中,控制器可從管理服務(wù)器獲取命令。管理服務(wù)器可利用操作506-512中的作為請求的一部分而傳送的裝置標(biāo)識符來識別用于具體計算裝置的特定命令。管理服務(wù)器可通過連接將命令傳回計算裝置以用于控制器。操作514可在功能性上類似于圖4中的操作408。
在操作516中,在操作506-512中建立從控制器到管理服務(wù)器的連接后,控制器可將處理器的狀態(tài)作為請求的一部分傳送給管理服務(wù)器。以此方式,在獲取命令之前、控制器將處理器的狀態(tài)上傳給管理服務(wù)器。在獲取命令之前傳送處理器的狀態(tài)提供了對計算裝置的額外監(jiān)督。此外,在此實施方式中,管理服務(wù)器可確定計算裝置將執(zhí)行的下一個動作。
在操作518中,控制器可執(zhí)行在操作514中獲取的命令。控制器可執(zhí)行該命令而無需喚醒駐留在處理器上的操作系統(tǒng)。以此方式,在處理器可維持在低功率狀態(tài)的同時控制器執(zhí)行命令。在獲取命令后,控制器可執(zhí)行多個響應(yīng)。此類響應(yīng)可包括例如維持在處理器的現(xiàn)有狀態(tài)(即,沒有任務(wù)執(zhí)行)、執(zhí)行命令、喚醒處理器和駐留在處理器上的基本輸入輸出系統(tǒng)(BIOS)以執(zhí)行該命令并/或喚醒用于虛擬機(jī)監(jiān)視器的處理器以執(zhí)行命令。在一個實施方式中,在執(zhí)行該命令后,控制器可將請求傳送給引擎以終止與管理服務(wù)器的通過網(wǎng)絡(luò)的連接。在終止連接后,引擎可切斷電源并且進(jìn)入低功率狀態(tài)中的一種狀態(tài)。
圖6是具有處理器602的計算裝置600的框圖,處理器602執(zhí)行機(jī)器可讀存儲介質(zhì)604內(nèi)的指令606-610。具體地,具有處理器602的計算裝置600與引擎通信以建立與管理服務(wù)器的通過網(wǎng)絡(luò)的連接從而獲取命令。雖然計算裝置600包括處理資源602和機(jī)器可讀存儲介質(zhì)604,其還可包括將會適于本領(lǐng)域技術(shù)人員的其他組件。例如,計算裝置600可包括如圖2-圖3中的引擎216和316。計算裝置600是具有能夠執(zhí)行指令606-610的處理資源602的電子裝置,由此計算裝置600的實施例包括計算裝置、移動裝置、客戶端裝置、個人電腦、臺式電腦、筆記本電腦、平板電腦、電子游戲機(jī)或者能夠執(zhí)行指令606-610的其他類型的電子裝置。在另一實施方式中,計算裝置600可在結(jié)構(gòu)和功能性上類似于圖1-圖3中的計算裝置102、202和302。指令606-610可被實施為方法、功能、操作和被實施為存儲在存儲介質(zhì)604上的機(jī)器可讀指令的其他進(jìn)程,存儲介質(zhì)604可為非暫時性的,諸如硬件存儲裝置(例如,隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、可擦可編程ROM、電可擦除ROM、硬盤驅(qū)動和閃存)。
處理資源602可獲取、解碼并執(zhí)行指令606-610,以建立與管理服務(wù)器的連接從而獲取命令。處理資源602執(zhí)行指令606-610從而:與引擎通信從而建立與管理服務(wù)器的通過網(wǎng)絡(luò)的通信鏈路;建立與管理服務(wù)器的通過網(wǎng)絡(luò)的連接;以及在建立通過網(wǎng)絡(luò)的連接后,從管理服務(wù)器獲取命令。在一個實施方式中,處理資源602可在結(jié)構(gòu)和功能性上類似于圖1-圖3中的控制器108、208和308。由此,處理資源602的實施方式包括微控制器、嵌入式控制器、電子裝置、微芯片、芯片集、電子電路、半導(dǎo)體或能夠執(zhí)行指令606-610的其他類型的處理資源。
機(jī)器可讀存儲介質(zhì)604包括指令606-610以供處理資源602獲取、解碼并執(zhí)行。在另一實施例中,機(jī)器可讀存儲介質(zhì)604可為電、磁和光學(xué)存儲器、貯存器、閃存驅(qū)動或者包含或存儲可執(zhí)行指令的其他物理裝置。由此,機(jī)器可讀存儲介質(zhì)604可包括例如隨機(jī)存取存儲器(RAM)、電可擦可編程只讀存儲器(EEPROM)、存儲驅(qū)動、存儲器緩存、網(wǎng)絡(luò)貯存器、光盤只讀存儲器(CDROM)等。由此,機(jī)器可讀存儲介質(zhì)604可包括可獨(dú)立地被使用并/或與處理資源602結(jié)合來獲取、解碼和/或執(zhí)行機(jī)器可讀存儲介質(zhì)604的指令的應(yīng)用和/或固件。應(yīng)用和/或固件可存儲在機(jī)器可讀存儲介質(zhì)604上并/或存儲在計算600的其他位置。
圖7是具有處理資源702的計算裝置700的框圖,處理資源702執(zhí)行機(jī)器可讀存儲介質(zhì)704內(nèi)的指令706-720。具體地,處理資源702用于執(zhí)行指令706-720以建立與管理服務(wù)器的通過網(wǎng)絡(luò)的連接,從而在主處理器處于低功率狀態(tài)的同時獲取命令。此外,在執(zhí)行該命令后,主處理器維持在低功率狀態(tài),而切斷引擎的電源。雖然計算裝置700包括處理資源702和機(jī)器可讀存儲介質(zhì)704,但其還可包括將會適用于本領(lǐng)域技術(shù)人員的其他組件。例如,計算裝置700可包括如圖2所示的引擎216。計算裝置700可在結(jié)構(gòu)和功能性上類似于圖6中的計算裝置600。在另一實施方式中,計算裝置700可在結(jié)構(gòu)和功能性上類似于如圖1-圖3中的計算裝置102、202和302。指令706-720可被實施為方法、功能、操作以及被實施為存儲在存儲介質(zhì)704上的機(jī)器可讀指令的其他進(jìn)程,存儲介質(zhì)704可為非暫時性的,諸如硬件存儲裝置(例如,隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、可擦可編程ROM、電可擦除ROM、硬盤驅(qū)動和閃存)。
處理資源702可獲取、解碼并執(zhí)行指令706-720以建立與管理服務(wù)器的連接從而獲取和/或執(zhí)行命令。在一個實施方式中,在執(zhí)行指令706后,處理資源702通過執(zhí)行指令710-712而執(zhí)行指令708。在另一實施方式中,在執(zhí)行指令706-712后,處理資源702執(zhí)行指令714-720。處理資源702執(zhí)行指令706-712從而:與引擎通信以通過網(wǎng)絡(luò)進(jìn)行通信;建立與管理服務(wù)器的通過網(wǎng)絡(luò)的連接;通過使用引擎上的網(wǎng)絡(luò)堆棧而啟動與管理服務(wù)器的安全連接;以及在獲取該命令之前,將主處理器的狀態(tài)通信至管理服務(wù)器。處理資源702執(zhí)行指令714-720從而:在主處理器處于低功率狀態(tài)的同時,從管理服務(wù)器獲取命令;在主處理器維持在低功率狀態(tài)的同時,通過執(zhí)行BIOS和/或虛擬機(jī)監(jiān)視器處的操作而執(zhí)行命令;以及在執(zhí)行該命令后,切斷引擎的電源。處理資源702可在結(jié)構(gòu)和功能性上類似于如圖6中的處理資源602。
機(jī)器可讀存儲介質(zhì)704包括指令706-720以供處理資源702獲取、解碼和執(zhí)行。在另一實施例中,機(jī)器可讀存儲介質(zhì)704可為電、磁、光學(xué)存儲器、貯存器、閃存驅(qū)動或者包含或存儲可執(zhí)行指令的其他物理裝置。因此,機(jī)器可讀存儲介質(zhì)704可包括例如隨機(jī)存取存儲器(RAM)、電可擦可編程只讀存儲器(EEPROM)、存儲驅(qū)動、存儲器緩存、網(wǎng)絡(luò)貯存器、光盤只讀存儲器(CDROM)等。由此,機(jī)器可讀存儲介質(zhì)704可包括可被單獨(dú)使用并/或與處理資源702結(jié)合來獲取、解碼和/或執(zhí)行機(jī)器可讀存儲介質(zhì)704的指令的應(yīng)用和/或固件。應(yīng)用和/或固件可存儲在機(jī)器可讀存儲介質(zhì)704上并/或存儲在計算裝置700的其他位置上。
總之,在此公開的示例通過經(jīng)由網(wǎng)絡(luò)獲取命令而管理計算裝置。在示例中,控制器維持電源開啟以通過網(wǎng)絡(luò)進(jìn)行連接而無論處理器的狀態(tài)如何,由此提供管理在各種網(wǎng)絡(luò)之間的計算裝置的獨(dú)立性。