專利名稱:控制服務器休眠與喚醒的系統及方法
技術領域:
本發明涉及一種服務器控制系統及方法,特別是關于一種控制服務器休眠與喚醒的系統及方法。
背景技術:
為了減少服務器的功耗,在暫時不使用時有必要控制服務器進入休眠狀態,在使用時將服務器從休眠狀態喚醒。目前,控制服務器休眠與喚醒需要主板、網卡及電源等硬件設備的支持,實現起來較為繁瑣。例如,在對休眠的服務器進行遠程喚醒時,要在遠端的控制主機上記錄服務器網卡的MAC地址,然后使用特定的軟件向服務器網卡發送特定的數據包,命令網卡向主板發送開機指令,進而實現上電開機。同時,服務器的電源必須為ATX(Advanced Technology Extended,高級技術擴展)電源,其中的+5V Mandby電流必須在600mA以上。
發明內容
鑒于以上內容,有必要提供一種控制服務器休眠與喚醒的系統,能夠方便地控制服務器進入休眠狀態以及將服務器從休眠狀態喚醒。此外,還有必要提供一種控制服務器休眠與喚醒的方法,能夠方便地控制服務器進入休眠狀態以及將服務器從休眠狀態喚醒。一種控制服務器休眠與喚醒的系統,運行于服務器的基板管理控制器中,該系統包括第一接收模塊,用于從基板管理控制器接收休眠命令;休眠模塊,用于響應所述休眠命令控制服務器進入休眠狀態;第二接收模塊,用于從基板管理控制器接收喚醒命令;及喚醒模塊,用于響應所述喚醒命令將服務器從休眠狀態喚醒。一種控制服務器休眠與喚醒的方法,執行于服務器的基板管理控制器中,該方法包括步驟從基板管理控制器接收休眠命令;響應所述休眠命令控制服務器進入休眠狀態;從基板管理控制器接收喚醒命令;及響應所述喚醒命令將服務器從休眠狀態喚醒。本發明從服務器上的基板管理控制器接收休眠命令或喚醒命令,根據接收的命令控制服務器休眠或喚醒,克服了需要主板、網卡及電源等硬件設備支持的限制,方便地實現服務器的休眠與喚醒。
圖1為本發明控制服務器休眠與喚醒的系統較佳實施例的應用環境示意圖。圖2為圖1中控制服務器休眠與喚醒的系統的功能模塊圖。圖3為本發明控制服務器休眠與喚醒的方法較佳實施例的流程圖。主要元件符號說明控制服務器休眠與喚醒的系統10服務器11基板管理控制器12操作系統13第一接收模塊200休眠模塊210第二接收模塊220喚醒模塊230
具體實施例方式參閱圖1所示,是本發明控制服務器休眠與喚醒的系統的應用環境示意圖。所述控制服務器休眠與喚醒的系統10運行于服務器11的基板管理控制器12中。所述服務器11安裝有操作系統13。在本實施例中,所述服務器11支持高級配置與電源接口(AdvancedConfiguration and Power Interface,ACPI)規范,根據該規范,服務器 11 包括 SO、Si、S2、S3、S4與S5六種狀態,其中SO是正常工作狀態,S1-S4是四種休眠狀態,S5為關機狀態。具體地,SO狀態下服務器11的所有硬件設備正常工作;Sl也稱上電待機,除了 CPU關閉外,服務器11的其他硬件設備正常工作;S2狀態下服務器11的CPU和總線時鐘關閉,其他硬件設備正常工作;S3也稱掛起到內存,是將服務器11運行中的數據寫入內存后關閉系統,只為內存等最必要的硬件設備供電,以確保數據不丟失;S4也稱掛起到硬盤,是將服務器11內存中的數據寫入硬盤后關閉系統;S5狀態下服務器11的所有硬件設備關閉。參閱圖2所示,是圖1中控制服務器休眠與喚醒的系統的功能模塊圖。所述控制服務器休眠與喚醒的系統10包括第一接收模塊200、休眠模塊210、第二接收模塊220及喚醒模塊230。所述第一接收模塊200用于從基板管理控制器12接收用戶發送的休眠命令。在本實施例中,用戶通過網絡接口或串口向基板管理控制器12發送休眠命令。所述休眠命令指明服務器11需要進入的休眠狀態。例如,所述服務器11支持ACPI規范,根據該規范,所述休眠狀態包括Si、S2、S3與S4四種狀態,相應地,所述休眠命令指明在ACPI規范下服務器11需要進入的休眠狀態,例如Sl狀態。若服務器11支持其他的規范,則休眠命令相應地指明在該規范下服務器11需要進入的休眠狀態。例如,若服務器11支持APM規范,則休眠命令相應地指明在APM規范下服務器11需要進入的休眠狀態。所述休眠模塊210用于響應所述休眠命令控制服務器11進入休眠狀態。在本實施例中,休眠模塊210通過服務器11的操作系統13控制服務器11進入休眠狀態。具體地,休眠模塊210根據所述休眠命令向操作系統13發送休眠數據包并觸發中斷,操作系統13偵測到所述中斷后,解析所述休眠數據包以確定服務器11需要進入的休眠狀態,并將服
4務器11設置為相應的休眠狀態。例如,若需要進入Sl狀態,則操作系統13關閉服務器11的CPU,其他硬件設備保持正常運轉。休眠模塊210可以通LPC(L0W pin count,低針計數)接口或 PCIe (Peripheral Component Interconnect Express,高速夕卜圍設備互連)接口向操作系統13發送所述休眠數據包。所述第二接收模塊220用于從基板管理控制器12接收用戶發送的喚醒命令。在本實施例中,用戶通過網絡接口或串口向基板管理控制器12發送喚醒命令。所述喚醒模塊230用于響應所述喚醒命令控制服務器11從休眠狀態喚醒。在本實施例中,喚醒模塊230通過服務器11的操作系統13控制服務器11從休眠狀態喚醒。具體地,喚醒模塊230根據所述喚醒命令向操作系統13發送開機指令,操作系統13根據該開機指令將服務器11從休眠狀態喚醒,恢復至正常工作狀態。喚醒模塊230可以通過基板管理控制器12的GPIO (general purpose input/output,通用輸入輸出)接口向操作系統13發送開機指令。參閱圖3所示,是本發明控制服務器休眠與喚醒的方法較佳實施例的流程圖。步驟S301,第一接收模塊200從基板管理控制器12接收用戶發送的休眠命令。在本實施例中,用戶通過網絡接口或串口向基板管理控制器12發送休眠命令。所述休眠命令指明服務器11需要進入的休眠狀態。例如,所述服務器11支持ACPI規范,根據該規范,所述休眠狀態包括Si、S2、S3與S4四種狀態,相應地,所述休眠命令指明在ACPI規范下服務器11需要進入的休眠狀態,例如Sl狀態。若服務器11支持其他的規范,則休眠命令相應地指明在該規范下服務器11需要進入的休眠狀態。例如,若服務器11支持APM規范,則休眠命令相應地指明在APM規范下服務器11需要進入的休眠狀態。步驟S302,休眠模塊210響應所述休眠命令控制服務器11進入休眠狀態。在本實施例中,休眠模塊210通過服務器11的操作系統13控制服務器11進入休眠狀態。具體地,休眠模塊210根據所述休眠命令向操作系統13發送休眠數據包并觸發中斷,操作系統13偵測到所述中斷后,解析所述休眠數據包以確定服務器11需要進入的休眠狀態,并將服務器11設置為相應的休眠狀態。例如,若需要進入Sl狀態,則操作系統13關閉服務器11的CPU,其他硬件設備保持正常運轉。休眠模塊210可以通LPC接口或PCIe接口向操作系統13發送所述休眠數據包。當需要從休眠狀態喚醒時,步驟S303,第二接收模塊220從基板管理控制器12接收用戶發送的喚醒命令。在本實施例中,用戶通過網絡接口或串口向基板管理控制器12發送喚醒命令。步驟S304,喚醒模塊230響應所述喚醒命令控制服務器11從休眠狀態喚醒。在本實施例中,喚醒模塊230通過服務器11的操作系統13控制服務器11從休眠狀態喚醒。具體地,喚醒模塊230根據所述喚醒命令向操作系統13發送開機指令,操作系統13根據該開機指令將服務器11從休眠狀態喚醒,恢復至正常工作狀態。喚醒模塊230可以通過基板管理控制器12的GPIO接口向操作系統13發送開機指令。
權利要求
1.一種控制服務器休眠與喚醒的系統,運行于服務器的基板管理控制器中,其特征在于,該系統包括第一接收模塊,用于從基板管理控制器接收休眠命令;休眠模塊,用于響應所述休眠命令控制服務器進入休眠狀態;第二接收模塊,用于從基板管理控制器接收喚醒命令;及喚醒模塊,用于響應所述喚醒命令將服務器從休眠狀態喚醒。
2.如權利要求1所述的控制服務器休眠與喚醒的系統,其特征在于,所述休眠命令與喚醒命令通過網絡接口或串口發送至基板管理控制器。
3.如權利要求1所述的控制服務器休眠與喚醒的系統,其特征在于,所述服務器安裝有操作系統,所述休眠模塊通過該操作系統控制服務器進入休眠狀態。
4.如權利要求1所述的控制服務器休眠與喚醒的系統,其特征在于,所述服務器安裝有操作系統,所述喚醒模塊通過該操作系統控制服務器從休眠狀態喚醒。
5.如權利要求1所述的控制服務器休眠與喚醒的系統,其特征在于,所述服務器支持高級配置與電源接口規范,依照該高級配置與電源接口規范,所述服務器包括4種休眠狀態。
6.一種控制服務器休眠與喚醒的方法,執行于服務器的基板管理控制器中,其特征在于,該方法包括步驟從基板管理控制器接收休眠命令;響應所述休眠命令控制服務器進入休眠狀態;從基板管理控制器接收喚醒命令;及響應所述喚醒命令將服務器從休眠狀態喚醒。
7.如權利要求6所述的控制服務器休眠與喚醒的方法,其特征在于,所述休眠命令與喚醒命令通過網絡接口或串口發送至基板管理控制器。
8.如權利要求6所述的控制服務器休眠與喚醒的方法,其特征在于,所述服務器安裝有操作系統,所述響應所述休眠命令控制服務器進入休眠狀態的步驟通過該操作系統實現。
9.如權利要求6所述的控制服務器休眠與喚醒的方法,其特征在于,所述服務器安裝有操作系統,所述響應所述喚醒命令將服務器從休眠狀態喚醒的步驟通過該操作系統實現。
10.如權利要求6所述的控制服務器休眠與喚醒的方法,其特征在于,所述服務器支持高級配置與電源接口規范,依照該高級配置與電源接口規范,所述服務器包括4種休眠狀態。
全文摘要
一種控制服務器休眠與喚醒的系統,運行于服務器的基板管理控制器中,該系統包括第一接收模塊,用于從基板管理控制器接收休眠命令;休眠模塊,用于響應所述休眠命令控制服務器進入休眠狀態;第二接收模塊,用于從基板管理控制器接收喚醒命令;及喚醒模塊,用于響應所述喚醒命令將服務器從休眠狀態喚醒。本發明還提供一種服務器休眠與喚醒的方法。本發明能夠方便地控制服務器進入休眠狀態以及將服務器從休眠狀態喚醒。
文檔編號H04L12/12GK102594575SQ20111002038
公開日2012年7月18日 申請日期2011年1月18日 優先權日2011年1月18日
發明者林樂 申請人:鴻富錦精密工業(深圳)有限公司, 鴻海精密工業股份有限公司