服務器系統(tǒng)及其訊息處理方法
【專利摘要】一種服務器系統(tǒng)及其訊息處理方法。上述服務器系統(tǒng)包括基板管理控制器與主機系統(tǒng)。在此,通過基板管理控制器自通過主機系統(tǒng)接收輸出訊息,并且儲存輸出訊息至基板管理控制器中的緩存空間。而在自遠程裝置接收到命令時,依據(jù)所接收的命令,自緩存空間取出對應的輸出訊息。并且,傳送對應的輸出訊息至遠程裝置。
【專利說明】服務器系統(tǒng)及其訊息處理方法
【技術領域】
[0001]本發(fā)明是有關于一種服務器系統(tǒng),且特別是有關于一種通過基板管理控制器(Baseboard Management Controller, BMC)來處理訊息的服務器系統(tǒng)及其訊息處理方法。
【背景技術】
[0002]目前服務器(server)廣為各企業(yè)所使用,發(fā)展的范圍除了結合網際網絡(internet)與電信業(yè)的應用外,也更深入到一般人的生活中,例如金融、財經、網上銀行、網絡信用卡的使用等等,這些都必需靠著服務器強大的運算能力。
[0003]順應市場的需求,業(yè)界的一些廠商推出了 IPMI (Intelligent PlatformManagementInterface,智慧化平臺管理接口)。IPMI是使硬件管理具備智慧化的新一代通用接口標準,用戶可以利用IPMI監(jiān)視服務器的物理健康特征,如溫度、電壓、電扇工作狀態(tài)、電源供應以及機箱入侵等,為系統(tǒng)管理、恢復以及資產管理提供資訊。
[0004]在IPMI 管理平臺中,基板管理控制器(Baseboard Management Controller, BMC)是其核心控制器。系統(tǒng)管理軟件對各個被管理器件的管理,都是通過BMC通信實現(xiàn)的。BMC可以用來提供控制系統(tǒng)的管理軟件和平臺管理硬件之間的接口,提供自主監(jiān)視、事件記錄和恢復控制功能,并可作為系統(tǒng)管理軟件與IPMB (智慧平臺管理總線)以及ICMB (智慧機箱管理總線)接口間的閘道使用。BMC自備電源,并自動監(jiān)控系統(tǒng)健康狀況。如果發(fā)現(xiàn)任何被控單元異常,它能立即采取行動,例如記錄事件、報警、自動關機或重啟動。
【發(fā)明內容】
[0005]本發(fā)明提供一種服務器系統(tǒng)及其訊息處理方法,基板管理控制器會在連網功能關閉時自動收集主機系統(tǒng)所輸出的輸出訊息。
[0006]本發(fā)明提出一種服務器系統(tǒng)的訊息處理方法,適用于基板管理控制器。而上述服務器系統(tǒng)包括基板管理控制器與主機系統(tǒng),主機系統(tǒng)具有與基板管理控制器相連的串行接口。在此,預備步驟包括該基板管理控制器內建立緩存空間。執(zhí)行步驟包括:基板管理控制器自主機系統(tǒng)的串行接口接收多個輸出訊息;基板管理控制器執(zhí)行第一模式,將上述輸出訊息儲存至緩存空間中;依據(jù)切換指令,基板管理控制器執(zhí)行第二模式,停止將上述輸出訊息儲存至緩存空間中,并使遠程裝置通過網絡訪問上述串行接口,而與主機系統(tǒng)進行數(shù)據(jù)交換;自遠程裝置通過網絡接收一命令,并依據(jù)上述命令,自緩存空間取出對應的輸出訊息;以及傳送對應的輸出訊息至遠程裝置。
[0007]在本發(fā)明的一實施例中,上述在自主機系統(tǒng)的串行接口接收輸出訊息的步驟之后,還可將自主機系統(tǒng)接收到輸出訊息的接收時間記錄至緩存空間。
[0008]在本發(fā)明的一實施例中,上述命令中包括一指定時間。而在依據(jù)上述命令,自緩存空間取出對應的輸出訊息的步驟中,可自緩存空間中,取出接收時間符合指定時間的輸出訊息。
[0009]在本發(fā)明的一實施例中,在依據(jù)上述命令,自緩存空間取出對應的輸出訊息的步驟之后,還可記錄輸出訊息被取出的提取時間,并在接收訊息刪除命令時,刪除標記有提取時間的輸出訊息。
[0010]在本發(fā)明的一實施例中,上述訊息處理方法中,當緩存空間的容量被存滿后,則將接收時間最早的輸出訊息發(fā)送至基板管理控制器的儲存單元中,并將接收時間最早的輸出訊息替換為新接收的輸出訊息;以及遠程裝置可通過網絡自儲存單元讀取上述輸出訊息。
[0011]在本發(fā)明的一實施例中,上述訊息處理方法中,當自遠程裝置接收到關閉命令時,停止收集主機系統(tǒng)的輸出訊息并重置緩存空間的內容。
[0012]在本發(fā)明的一實施例中,上述切換指令由該遠程裝置發(fā)出(S0L)。
[0013]本發(fā)明提出一種服務器系統(tǒng),其包括主機系統(tǒng)以及基板管理控制器。其中主機系統(tǒng)具有一串行接口。而基板管理控制器中具有一緩存空間與一網絡接口?;骞芾砜刂破黢罱又链薪涌?,將自串行接口所接收到的輸出訊息儲存至緩存空間。并且,并且,通過網絡接口連線至遠程裝置,依據(jù)切換指令,停止將輸出訊息儲存至緩存空間中,使遠程裝置可通過網絡接口訪問串行接口,與主機系統(tǒng)進行數(shù)據(jù)交換;以及在自遠程裝置接收到一命令時,依據(jù)上述命令,自緩存空間取出對應的輸出訊息,并傳送對應的輸出訊息至遠程裝置。
[0014]在本發(fā)明的一實施例中,上述基板管理控制器可將自主機系統(tǒng)接收到輸出訊息的接收時間記錄至緩存空間,并且在接收到包括一指定時間的命令時,將接收時間符合指定時間的輸出信息輸出至遠程裝置。
[0015]在本發(fā)明的一實施例中,上述基板管理控制器還會記錄輸出訊息被取出的提取時間,并在接收到訊息 刪除命令時,刪除標記有提取時間的輸出訊息。
[0016]在本發(fā)明的一實施例中,當上述基板管理控制器自遠程裝置接收到關閉命令時,停止收集主機系統(tǒng)的輸出訊息并重置緩存空間的內容。
[0017]基于上述,本發(fā)明通過在基板管理控制器的內部設置一個緩存空間,以儲存主機系統(tǒng)的串行接口所輸出的輸出訊息。當遠程的使用者連接上服務器系統(tǒng)之后,可以隨時獲取這個緩存空間的內容,進而可以取得在未連線之前的如屏幕輸出等輸出訊息。據(jù)此,當主機系統(tǒng)發(fā)生問題時,使用者可通過遠程裝置利用網絡從容連上服務器系統(tǒng),而通過上述方法來取得相關的輸出訊息。
[0018]為讓本發(fā)明的上述特征和優(yōu)點能更明顯易懂,下文特舉實施例,并配合所附圖式作詳細說明如下。
【專利附圖】
【附圖說明】
[0019]圖1是依照本發(fā)明一實施例的服務器系統(tǒng)的方塊圖。
[0020]圖2是依照本發(fā)明一實施例的服務器系統(tǒng)的訊息處理方法的流程圖。
[0021]圖3是依照本發(fā)明一實施例的遠程裝置與服務器系統(tǒng)之間連接關系的示意圖。
[0022]圖4是依照本發(fā)明一實施例的基板管理控制器的處理模塊的方塊圖。
[0023]【主要元件符號說明】
[0024]110:服務器系統(tǒng)
[0025]111:主機系統(tǒng)
[0026]113:串行接口
[0027]115:基板管理控制器[0028]117:緩存空間
[0029]119:網絡接口
[0030]310:遠程裝置
[0031]400:處理模塊
[0032]401:接收模塊
[0033]403:記錄模塊
[0034]405 ;連線模塊
[0035]407 ;擷取模塊
[0036]409:刪除模塊
[0037]S205^S225:本發(fā)明一實施例的服務器系統(tǒng)的訊息處理方法各步驟【具體實施方式】
[0038]圖1是依照本發(fā)明一實施例的服務器系統(tǒng)的方塊圖。請參照圖1,服務器系統(tǒng)110包括主機系統(tǒng)111以及基板管理控制器115。主機系統(tǒng)111具有串行接口 113,基板管理控制器115具有緩存空間117與網絡接口 119。在此,基板管理控制器115耦接至主機系統(tǒng)111的串行接口(serial port) 113,并且通過網絡接口 119與遠程裝置310連線。基板管理控制器115可自主機系 統(tǒng)111的串行接口 113接收輸出訊息。此輸出訊息例如為核心錯誤(kernel panic)訊息等重要訊息。
[0039]舉例來說,在主機系統(tǒng)111輸出核心錯誤訊息時,會將核心錯誤訊息顯示在屏幕上,使用者通過核心虛擬技術(Kernel based Virtual Machine, KVM)或 iKVM (KVMoverIP),便能夠看到。由于主機系統(tǒng)111的輸出訊息是瞬時的,因此,在本實施例中,于基板管理控制器115中設置一個緩存空間117來收集輸出訊息。據(jù)此,基本管理控制器115在接收到主機系統(tǒng)111的輸出訊息時,能夠將輸出訊息保留在緩存空間117中。
[0040]舉例來說,緩存空間117通常設置在例如為隨機存取存儲器(RandomAccessMemory,RAM)、動態(tài)隨機存取存儲器(Dynamic Random Access Memory,DRAM)等存儲器中。例如,以程序語言的撰寫語法而言,可定義一全局陣列(global array),其大小可以為2K或更大?;蛘?利用malloc函數(shù)來宣告一個堆空間(stack space)。并且,再定義一個變數(shù),用來記錄上述所定義的這個全局陣列的數(shù)據(jù)是否已經開始進行回圈,即是否開始覆蓋掉最舊的數(shù)據(jù)。另外,還可以定義一個當前陣列位置指標,和陣列棧頂(top)指標,通過指標操作,加快提高執(zhí)行速度。并且,定義一個變數(shù),用來記錄最后一個字元收到的時間(option function)。
[0041]底下即搭配上服務器系統(tǒng)110來說明其訊息處理方法的詳細步驟。圖2是依照本發(fā)明一實施例的服務器系統(tǒng)的訊息處理方法的流程圖。請同時參照圖1及圖2,在步驟S205中,基板管理控制器115自主機系統(tǒng)111的串行接口 113接收輸出訊息。上述輸出訊息例如為主機系統(tǒng)111的屏幕訊息或其他訊息。
[0042]接著,在步驟S210中,基板管理控制器115執(zhí)行第一模式,將輸出訊息儲存至緩存空間117。通過串行接口 113,基板管理控制器115可隨時自主機系統(tǒng)111接收輸出訊息,并將所接收到的輸出訊息暫存于緩存空間117。
[0043]然后,如步驟S215所示,依據(jù)切換指令,基板管理控制器115執(zhí)行一第二模式,停止將輸出訊息儲存至緩存空間中。在此,遠程裝置會通過網絡訪問串行接口 113,使得遠程裝置與主機系統(tǒng)111進行數(shù)據(jù)交換。上述切換指令例如是由遠程裝置所發(fā)出,使得基板管理控制器115執(zhí)行第二模式。
[0044]舉例來說,主機系統(tǒng)111具備有區(qū)域網絡傳送序列端口(Serial Over LAN, SOL ;LAN=Local Area Network)功能。而即使SOL功能未啟用,基板管理控制器115亦能夠隨時取得主機系統(tǒng)111的輸出訊息,并且將輸出訊息儲存在緩存空間117中。而當遠程裝置啟用SOL功能時,遠程裝置便能夠通過網絡來訪問主機系統(tǒng)111的串行接口 113。并且,遠程裝置傳送切換指令使得基板管理控制器115執(zhí)行第二模式,即,停止將輸出訊息儲存至緩存空間117。
[0045]接著,在步驟S220中,基板管理控制器115通過網絡自遠程裝置接收命令,并且依據(jù)所接收到的命令,自緩存空間117取出對應的輸出訊息。例如,基板管理控制器115可接收一遠程裝置所發(fā)送的命令,而依據(jù)此命令而自緩存空間117中取出對應的輸出訊息。在此,上述命令可以是原始設備制造商(Original Equipment Manufacturer, OEM)命令,然并不以此為限。
[0046]然后,在步驟S225中,基板管理控制器115通過網絡接口 119,將對應的輸出訊息傳送至遠程裝置。例如,基板管理控制器115通過網絡接口 119連線至一網絡,而遠程裝置便可通過網絡對基板管理控制器115來下達命令,而基板管理控制115在取得對應的輸出訊息之后,再通過網絡接口 119將輸出訊息傳送至發(fā)送上述命令的遠程裝置。
[0047]為了更清楚地說明,底下再舉一實施例來說明與遠程裝置之間的連接關系。圖3是依照本發(fā)明一實施例的遠程裝置與服務器系統(tǒng)之間連接關系的示意圖。本實施例以上述服務器系統(tǒng)110為例。
[0048]基板管理控制器115利用網絡接口 119連線至網絡,使得遠程裝置310得以通過網絡與基板管理控制器115進行溝通。當遠程裝置310通過網絡來與基板管理控制器115溝通時,便可在緩存空間117中取出輸出訊息。例如,遠程裝置310可通過網絡傳送切換指令或其他任意的命令至基板管理控制器115,而基板管理控制器115依據(jù)所接收到的切換指令或命令,執(zhí)行對應的動作,并且還可回傳一回應或數(shù)據(jù)至遠程裝置310。
[0049]在本實施例中,在SOL功能未啟用之前,基板管理控制器115能夠隨時取得主機系統(tǒng)111的輸出訊息,并且將輸出訊息儲存在緩存空間117中。之后,當遠程裝置310的使用者啟用SOL功能時,使用者便能夠通過遠程裝置310來傳送一命令至基板管理控制器115。
[0050]舉例來說,遠程裝置310可通過SOL功能與服務器系統(tǒng)110中的主機系統(tǒng)111進行溝通。例如,主機系統(tǒng)111要進行關機、開機或進行任何設定,都可通過SOL功能由遠程裝置310來執(zhí)行。而遠程裝置310可進一步傳送命令至基板管理控制器115。
[0051]另外,基板管理控制器115還可進一步依據(jù)SOL功能是否啟用來決定是否將所接收到的輸出訊息儲存至緩存空間117。舉例來說,當SOL功能啟用時,基板管理控制器115會暫停收集來自串行接口 113的輸出訊息(B卩,第二模式)。并且,當SOL功能關閉時,基板管理控制器115會開始重新收集來自串行接口 113的輸出訊息(即,第一模式),而將來自串行接口 113的輸出訊息儲存至緩存空間117中。
[0052]并且,基板管理控制器115還可將自主機系統(tǒng)111接收輸出訊息的接收時間記錄至緩存空間117。也就是說,基板管理控制器115可在接收到輸出訊息之后,將輸出訊息與當時的接收時間一并記錄下來。
[0053]據(jù)此,當遠程裝置310傳送包括一指定時間(可為單位時間或是一個時間區(qū)段)的命令至基板管理控制器115時,基板管理控制器115便能夠取出所記錄的接收時間符合上述命令所載送的指定時間的輸出訊息。例如,接收時間在指定時間內的輸出訊息,或是接收時間為指定時間的輸出訊息。并且,當緩存空間117的容量被存滿后,可將接收時間最早的輸出訊息發(fā)送至基板管理控制器115的儲存單元中,并將接收時間最早的輸出訊息替換為新接收的輸出訊息。而遠程裝置310亦能夠通過網絡自上述儲存單元讀取輸出訊息。在此,上述儲存單元例如為硬碟、存儲器等。
[0054]另外,在取出對應的輸出訊息之后,基板管理控制器115更可進一步將輸出訊息被取出的提取時間記錄下來。之后,當緩存空間117的空間滿了時,基板管理控制器115可進一步依據(jù)所記錄的提取時間,將已被取出的輸出訊息刪除。據(jù)此,便可將緩存空間117的空間騰出來,而繼續(xù)儲存來自串行接口 113的輸出訊息?;蛘?,當基板管理控制器115自遠程裝置310接收到一訊息刪除命令時,刪除標記有提取時間的輸出訊息。
[0055]此外,遠程裝置310還可傳送一關閉命令至基板管理控制器115,使得基板管理控制器115在接收到關閉命令時,停止收集主機系統(tǒng)111的輸出訊息,并重置緩存空間117的內容。例如,在基板管理控制器115與遠程裝置310連接時,遠程裝置310會發(fā)送關閉命令使得基板管理控制器115停止接收輸出訊息,而將控制權轉交給遠程裝置310。又,遠程裝置310還可以傳送OEM命令至基板管理控制器115,以調整緩存空間117的容量大小。
[0056]在實際應用中,可在基板管理控制器115的處理模塊中來實現(xiàn)上述訊息處理方法。處理模塊例如為微處理器、嵌入式芯片、或者為固件,在此并不限定。另外,基板管理控制器115還可進一步依據(jù)SOL功能是否啟用來決定是否將所接收到的輸出訊息儲存至緩存空間117。舉例來說,當SOL功能啟用時,基板管理控制器115會暫停收集來自串行接口 113的輸出訊息。并且,當SOL功能關閉時,基板管理控制器115會開始重新收集來自串行接口113的輸出訊息,而將來自串行接口 113的輸出訊息儲存至緩存空間117中。
[0057]為清楚說明,底下以圖1的基板管理控制器115為例再舉一實施例來說明,然底下僅為其中一種實施態(tài)樣,并不以此為限。
[0058]圖4是依照本發(fā)明一實施例的基板管理控制器的處理模塊的方塊圖。請參照圖3及圖4,在本實施例中,基板管理控制器115中包括處理模塊400。處理模塊400包括接收模塊401、記錄模塊403、連線模塊405、擷取模塊407以及刪除模塊409等等。上述模塊可以是由程序語言所撰寫的程序碼或者由獨立芯片來實現(xiàn)之,在此并不限制。
[0059]在基板管理控制器115中,通過接收模塊401自主機系統(tǒng)111的串行接口 113接收輸出訊息。并且,通過記錄模塊403將接收模塊401所接收到的輸出訊息儲存至緩存空間117。另外,記錄模塊403還可將自主機系統(tǒng)111接收到輸出訊息的接收時間記錄至緩存空間117,并且還可在輸出訊息被取出時,將其提取時間記錄至緩存空間117。
[0060]另外,通過連線模塊405使得基板管理控制器115連線至遠程裝置310,以自遠程裝置310接收一命令。例如,當SOL功能啟動時,便可通過連線模塊405來連線至遠程裝置310。而擷取模塊407會依據(jù)連線模塊405所接收的命令,自緩存空間117取出對應的輸出訊息。之后,通過連線模塊405將擷取模塊407所取出的對應的輸出訊息傳送至遠程裝置310。例如,擷取模塊407自緩存空間117中取出接收時間符合指定時間的輸出訊息。另外,通過刪除模塊409可在緩存空間117的空間滿了之后,依據(jù)所記錄的提取時間,刪除已被取出的輸出訊息?;蛘呓邮盏揭挥嵪h除命令時,通過刪除模塊409來刪除標記有提取時間的輸出訊息。
[0061]綜上所述,在上述實施例中,在基板管理控制器中設置一緩存空間,在連網功能(例如SOL功能)關閉之時,可將所接收的輸出訊息暫時儲存在基板管理控制器的緩存空間中。待連網功能啟動之時,依據(jù)自遠程裝置所接收的命令,自緩存空間中取出主機系統(tǒng)過去所輸出的輸出訊息。據(jù)此,即便遠程裝置并未連線至基板管理控制器,基板管理控制器亦會自動收集主機系統(tǒng)所輸出的輸出系統(tǒng),使得在連網功能一啟動之后,遠程裝置得以隨時擷取先前主機系統(tǒng)所輸出的輸出訊息。
[0062]雖然本發(fā)明已以實施例揭露如上,然其并非用以限定本發(fā)明,任何所屬【技術領域】中具有通常知識者,在不脫離本發(fā)明的精神和范圍內,當可作些許的更動與潤飾,故本發(fā)明的保護范圍當視后附的權利要求所界定的為準。
【權利要求】
1.一種服務器系統(tǒng)的訊息處理方法,適用于一基板管理控制器,其中該服務器系統(tǒng)包括該基板管理控制器與一主機系統(tǒng),該主機系統(tǒng)具有與該基板管理控制器相連的一串行接口,該方法包括: 預備步驟: 在該基板管理控制器內建立一緩存空間; 執(zhí)行步驟: 該基板管理控制器自該主機系統(tǒng)的串行接口接收多個輸出訊息; 該基板管理控制器執(zhí)行一第一模式,將該些輸出訊息儲存至該緩存空間中; 依據(jù)一切換指令,該基板管理控制器執(zhí)行一第二模式,停止將該些輸出訊息儲存至該緩存空間中,并使一遠程裝置通過一網絡訪問該串行接口,與該主機系統(tǒng)進行數(shù)據(jù)交換; 通過該網絡自該遠程裝置接收一命令,并依據(jù)該命令,自該緩存空間取出對應的該些輸出訊息;以及 傳送對應的該些輸出訊息至該遠程裝置。
2.如權利要求1所述的訊息處理方法, 其特征在于,在自該主機系統(tǒng)的串行接口接收該些輸出訊息的步驟之后,更包括: 將自該主機系統(tǒng)接收到各輸出訊息的一接收時間記錄至該緩存空間。
3.如權利要求2所述的訊息處理方法,其特征在于,該命令包括一指定時間,而依據(jù)該命令,自該緩存空間取出對應的該些輸出訊息的步驟,更包括: 自該緩存空間中,取出該接收時間符合該指定時間的該些輸出訊息。
4.如權利要求2所述的訊息處理方法,其特征在于,更包括: 當該緩存空間的容量被存滿后,則將該接收時間最早的該輸出訊息發(fā)送至該基板管理控制器的一儲存單元中,并將該接收時間最早的該輸出訊息替換為新接收的該輸出訊息,使該遠程裝置通過該網絡自該儲存單元讀取該些輸出訊息。
5.如權利要求1所述的訊息處理方法,其特征在于,在依據(jù)該命令,自該緩存空間取出對應的該些輸出訊息的步驟之后,更包括: 記錄各輸出訊息被取出的一提取時間,并在接收一訊息刪除命令時,刪除標記有該提取時間的輸出訊息。
6.如權利要求1所述的訊息處理方法,其特征在于,更包括: 當自該遠程裝置接收到一關閉命令時,停止收集該主機系統(tǒng)的輸出訊息并重置該緩存空間的內容。
7.如權利要求1所述的訊息處理方法,其特征在于,更包括: 該切換指令由該遠程裝置發(fā)出。
8.一種服務器系統(tǒng),包括: 一主機系統(tǒng),具有一串行接口 ;以及 一基板管理控制器,具有一緩存空間與一網絡接口,該基板管理控制器耦接至該串行接口,將自該串行接口所接收到的多個輸出訊息儲存至該緩存空間;并且,通過該網絡接口連線至一遠程裝置,依據(jù)一切換指令,停止將該些輸出訊息儲存至該緩存空間中,使該遠程裝置可通過該網絡接口訪問該串行接口,與該主機系統(tǒng)進行數(shù)據(jù)交換;以及在自該遠程裝置接收到一命令時,依據(jù)該命令,自該緩存空間取出對應的該些輸出訊息,并傳送對應的該些輸出訊息至該遠程裝置。
9.如權利要求8所述的服務器系統(tǒng),其特征在于,該基板管理控制器將自該主機系統(tǒng)接收到該輸出訊息的一接收時間記錄至該緩存空間,且在接收到包括一指定時間的該命令時,將該接收時間符合該指定時間的輸出資訊輸出至該遠程裝置。
10.如權利要求8所述的服務器系統(tǒng),其特征在于,該基板管理控制器記錄該輸出訊息被取出的一提取時間,并在接收到一訊息刪除命令時,刪除標記有該提取時間的輸出訊息。
11.如權利要求8所述的服務器系統(tǒng),其特征在于,當該基板管理控制器自該遠程裝置接收到一關閉命令時,停止收`集該主機系統(tǒng)的輸出訊息并重置該緩存空間的內容。
【文檔編號】G06F9/54GK103778024SQ201210411175
【公開日】2014年5月7日 申請日期:2012年10月24日 優(yōu)先權日:2012年10月24日
【發(fā)明者】王浩皓, 褚敏 申請人:英業(yè)達科技有限公司, 英業(yè)達股份有限公司