TWI576762B - 用於執行動作請求之方法和系統及其相關之非暫態的處理器可讀取媒體 - Google Patents
用於執行動作請求之方法和系統及其相關之非暫態的處理器可讀取媒體 Download PDFInfo
- Publication number
- TWI576762B TWI576762B TW104117755A TW104117755A TWI576762B TW I576762 B TWI576762 B TW I576762B TW 104117755 A TW104117755 A TW 104117755A TW 104117755 A TW104117755 A TW 104117755A TW I576762 B TWI576762 B TW I576762B
- Authority
- TW
- Taiwan
- Prior art keywords
- action
- storage device
- action request
- management controller
- processor
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Description
本發明係有關於一種基於管理控制器動作請求之動作執行。
計算系統係利用到各種的軟體構件。例如,低階的韌體是和硬體介接,並且用於硬體的驅動程式可以和一作業系統介接。在某些情形中,更新在一計算系統上的韌體或驅動程式可能是必要的。例如,更新可以提供額外的功能。作為另一例子的是,更新可以修正在韌體或驅動程式之先前的版本中的錯誤(經常被稱為程式錯誤(bug))。
本發明之一實施例係揭示一種方法,其係包括:以於一伺服器電腦上的一作業系統的控制下運作之一公用程式來接收一動作請求的一指示,該動作請求的該指示是藉由一管理控制器來加以接收,其中接收該動作請求指示並不需要伺服器作業系統的管理者憑證;以及藉由該公用程式來執行在該動作請求中所指定的一動作。
本發明之另一實施例係揭示一種非暫態的處理器可讀取的媒體,其上包含一組指令,當該組指令藉由一處理器執行時使得該處理器:從一管理控制器可存取的儲存裝置擷取一作業系統(OS)驅動程式更新腳
本,該管理控制器是與該處理器分開的,該更新腳本是透過一管理網路而被寫入至該管理控制器可存取的儲存裝置;從該OS驅動程式更新腳本中所指定的一位置處下載一OS更新套件,該下載是透過該管理網路發生的;並且起始該OS驅動程式更新。
本發明之再一實施例係揭示一種系統,其係包括:一管理控制器,其耦接至一管理網路;一第一儲存裝置,其耦接至該管理控制器,其中透過該管理網路接收到的一動作請求係儲存在該第一儲存裝置中;以及一處理器,其耦接至該管理控制器以及一生產網路,其中該處理器係執行一作業系統,從該儲存裝置擷取該動作請求,並且在不使用該生產網路下執行該動作請求。
100‧‧‧系統
110‧‧‧生產網路
120‧‧‧管理網路
130‧‧‧處理器
150‧‧‧管理控制器
160‧‧‧儲存裝置
161‧‧‧動作請求
200‧‧‧系統
205‧‧‧伺服器電腦
210‧‧‧生產網路
220‧‧‧管理網路
230‧‧‧處理器
232‧‧‧非暫態的處理器可讀取的媒體
234‧‧‧作業系統的指令
234-a‧‧‧作業系統域
236‧‧‧公用程式的指令
236-a‧‧‧公用程式
240‧‧‧主機匯流排轉接器(HBA)
241‧‧‧網路介面控制器(NIC)
242‧‧‧基本的輸入輸出系統(BIOS)
250‧‧‧管理控制器
260‧‧‧儲存裝置
261‧‧‧動作請求
265‧‧‧儲存裝置
266‧‧‧動作資料
270‧‧‧管理者使用者
280‧‧‧動作請求使用者
310、320‧‧‧區塊
410、420、430、440、450‧‧‧區塊
510、520、530‧‧‧區塊
610、620、630、640、650、660、670‧‧‧區塊
圖1是根據在此所述的技術的一種可以利用管理控制器的動作請求之系統的一個例子。
圖2是根據在此所述的技術的一種可以利用管理控制器的動作請求之系統的另一個例子。
圖3是根據在此所述的技術的一用於接收及執行一動作之高階流程圖的一個例子。
圖4是根據在此所述的技術的一用於接收及執行一動作之高階流程圖的另一個例子。
圖5是根據在此所述的技術的一用於更新作業系統的驅動程式更新之高階流程圖的一個例子。
圖6是根據在此所述的技術的一用於更新作業系統的驅動程式更新之高階流程圖的另一個例子。
一種用於更新在一例如是伺服器電腦的計算系統上的韌體、驅動程式、或是組態設定之過程可能牽涉到利用一授予管理者權限(privilege)的帳號憑證(credential)來登錄到該電腦系統的作業系統(OS)中。通常被稱為根(root)使用者或是超級使用者(superuser)的管理者被授予在該電腦系統上的權限,該權限可以超越一般使用者的帳號可利用的那些權限。例如,某些程式在該系統上的執行可被限制為具有管理者權限的使用者。內含在那些權限中的可以是用以在該韌體及/或驅動程式上執行更新、或是在該電腦系統上做成組態設定的改變之職權。為了此說明之目的,管理者憑證或是作業系統的管理者憑證是指登錄到一電腦系統中作為一管理者並且因此被授予管理者權限所需的憑證。
一登錄作為管理者的使用者接著可以下載任何用在更新該韌體及/或驅動程式的軟體。此被下載的資料可被稱為一更新套件(package),因為其可以包含被用來執行該韌體及/或驅動程式更新的資料。此資料可包含一實際執行該更新之可執行的程式。該更新套件可以透過一網路而被下載到該伺服器電腦。該管理者使用者接著可以在該電腦上更新所要的構件、或是執行組態設定的更新。就此揭露內容之其餘部分而言,該術語更新是指韌體及/或驅動程式的更新、以及改變一伺服器電腦的組態設定。
當利用上述的方法時,數個問題可能會出現。首先,如同在
以上所提及的,一具有管理者憑證的使用者可以在該電腦系統上被授予權限是超越一正常使用者的那些權限,並且可能包含權限是超過對於更新該系統所需的那些權限。因此,為了容許一使用者能夠更新該系統,該使用者可以接收到管理者憑證。然而,一項問題係發生在藉由授予管理者權限以便於更新該系統中,因為所有的管理者權限也都被授予。此是次佳的,因為一負責更新該系統的使用者在許多情況中是不應該被授予和管理者相關的所有權限。
另一發生的問題是系統的更新經常可能會干擾到該系統的正常操作。例如,執行一更新可能會降低該系統的反應靈敏度。在某些情形中,該更新方法可能會需要該系統被重新啟動。這些操作可能會影響正在藉由該伺服器處理的工作負荷。例如,在其中伺服器被重新啟動的狀況中,該伺服器在該重新啟動期間不再是可供利用的。在某些情形中,一使用者可能是負責更新,而另一使用者是負責保持該伺服器是可供利用的。若該負責更新的使用者能夠影響該伺服器的可供利用性,對於兩個使用者而言,在沒有來自該負責維持伺服器的可供利用性之使用者的輸入下要實行其個別的職責是困難的。即使當執行一更新時影響該伺服器的可供利用性可能是不可避免的,但是該負責維持系統可供利用性的使用者可能會希望在發生降低的可供利用性的期間時有所控制。
作為又一問題的是,若一更新套件的下載是發生在正被該伺服器利用以處理工作負荷之相同的網路上,則在該網路上之可利用的頻寬被降低。因此,下載一更新套件本質上可能會干擾到該伺服器處理工作負荷的能力。
在此所述的技術係透過一在該伺服器上執行的效用(utility)程式的使用,結合一管理控制器、以及該管理控制器與該伺服器上的處理器可存取的一儲存裝置來克服這些問題。一負責更新的使用者可以儲存或者是提供對於一更新顯示需求的資料至一管理控制器。提供對於更新顯示需求的資料可以不需要管理者憑證。可以執行為一具有管理者權限的程式之公用程式可以偵測對於一更新顯示需求之資料的存在。在某些實施方式中,該偵測可以是透過週期性的檢查對於一更新顯示需求之資料的存在與否。該公用程式檢查對於更新的需求的時間及頻率可以藉由一負責維持該系統的可供利用性之使用者來加以控制。
該更新套件可以在一連接至該管理控制器的管理網路上被下載到該系統。因此,沒有使用到被用來處理該伺服器的工作負荷之網路上的頻寬。該公用程式接著可以決定該更新何時被施加,其係包含決定該系統的任何重新啟動(若需要的話)何時發生。因此,該系統的可供利用性係維持在該公用程式的控制下,於是該公用程式係藉由一負責維持系統的可供利用性之使用者來加以組態設定。這些技術係在以下更詳細而且結合所附的圖來加以描述。
圖1是根據在此所述的技術的一種可以利用管理控制器的動作請求之系統的一個例子。系統100可包含一生產網路(production network)110、一管理網路120、一處理器130、一管理控制器150以及一儲存裝置160。該處理器130可以耦接至該生產網路。該生產網路可被處理器利用於執行工作負荷。該網路可以是一本地區域網路、一廣域網路、一內部網路、或是網際網路。在此所述的技術並未基於任何特定類型的生產網
路。應該理解到的是,該生產網路可以結合執行被指定至處理器的工作負荷之該處理器來加以利用。
該處理器130可以是內含在一電腦中之任意類型的處理器。例如,該處理器可以是一內含在一伺服器電腦中之處理器,其係執行容許該處理器能夠處理工作負荷的指令。這些指令可包含作業系統的指令。該處理器可以耦接至一管理控制器150。該管理控制器本身可以是一處理器,然而該管理控制器可被用在該處理器的管理。該管理控制器可以不被用在工作負荷的執行。該管理控制器有時可被稱為一基板(baseboard)管理控制器或是一遠端(lights out)控制器。
該管理控制器可以耦接至一儲存裝置160。該儲存裝置可以是能夠儲存一動作請求161之任意類型的裝置。一儲存裝置的一個例子可包含一非揮發性記憶體(例如是一快閃記憶體),儘管在此所述的技術並未基於任何特定類型的儲存裝置。一動作請求可以是一動作將被執行的一項指示。例如,一動作請求可以是一檔案(例如一腳本(script)),其係指出一動作(例如一更新動作)將被執行。一動作請求亦可以是一藉由該管理控制器所接收到的命令。
該管理控制器可以耦接至一管理網路120。該管理網路可被利用以管理該處理器。一動作請求可以藉由該管理控制器透過該管理網路而被接收到。在某些實施方式中,該動作請求可以被寫入到該儲存裝置160。
在操作上,一動作請求可以藉由該管理控制器來加以接收。在某些實施方式中,該動作請求可被儲存在耦接至該管理控制器的儲存裝置上。該動作請求可以透過該管理網路而被接收到。執行作業系統的指令
之處理器可以接收該動作請求。在某些實施方式中,接收該動作請求可包含從該儲存裝置擷取該動作請求。在其它實施方式中,該動作請求可以藉由該管理控制器來加以接收,並且被傳送至該處理器。該處理器可以執行該動作請求。該動作請求的執行可以不需要使用該生產網路。
圖2是根據在此所述的技術的一種可以利用管理控制器的動作請求之系統的另一個例子。系統200可包含類似於那些相關圖1所敘述的構件。類似的構件被類似地編號。系統200可包含一伺服器電腦205。在圖1中敘述的構件中的許多個可以內含在該伺服器電腦205中。例如,該伺服器電腦可包含一處理器230、一非暫態的處理器可讀取的媒體232、一儲存裝置265、複數個構件,例如是一主機匯流排轉接器(HBA)240、一網路介面控制器(NIC)241、以及基本的輸入輸出系統(BIOS)242。該伺服器電腦亦可包含一管理控制器250以及儲存裝置260。就如上所述的,系統200可包含一生產網路210以及一管理網路220。
伺服器電腦205可被利用以處理一工作負荷。一範例的工作負荷可以是一網路伺服器的工作負荷。另一範例的工作負荷可以是一資料庫伺服器的工作負荷。在此所述的技術並未基於任何特定類型的工作負荷。應該理解到的是,伺服器205係透過處理器230的使用來執行某些所要的工作負荷之處理功能。該伺服器205可以透過生產網路210來連接至外部世界。例如,用於工作負荷處理的請求可以透過該生產網路而被接收到,並且該工作負荷處理的結果可以透過該生產網路而被傳回。
該處理器230可以耦接至一非暫態的處理器可讀取的媒體232。該媒體232可以於其上包含一組指令,當該組指令藉由該處理器執行
時,其係使得該處理器執行在此所述的功能。例如,該媒體232可包含作業系統的指令234,其係使得該處理器在該伺服器電腦上實施一作業系統域234-a。該些指令亦可包含公用程式的指令236,其可以使得該伺服器實施一公用程式236-a,該公用程式236-a是在該作業系統的控制下執行的。該公用程式可以在作業系統的管理者權限下執行。該公用程式的操作係在以下更詳細地加以描述。
該處理器亦可耦接至儲存裝置265。儲存裝置265可以是任意類型的儲存裝置,其包含例如是快閃記憶體的非揮發性記憶體、例如是動態或靜態隨機存取記憶體(SRAM或DRAM)的揮發性記憶體、例如是硬碟或固態硬碟的永久記憶體、或是任何其它類型的可被用來儲存動作資料266之儲存。動作資料可以是用在一動作的執行之資料。例如,在執行一韌體更新的情形中,該動作資料可包含待被安裝之更新的韌體套件。該動作資料的使用係在以下更詳細地加以描述。
該處理器亦可耦接至一管理控制器250。如上所解說的,該管理控制器可被用來在該伺服器205上執行管理操作。該管理控制器亦可耦接至一儲存裝置260。除了儲存裝置260可以從該管理控制器藉由一並不具有管理者憑證的使用者加以寫入之外,儲存裝置260可以是類似於儲存裝置265。儲存裝置260可包含一動作請求261,其係指出一將被該公用程式執行的動作。該動作請求的操作係在以下更詳細地加以描述。
如上所述,該管理控制器250可以耦接至一與生產網路210分開的管理網路220。因此,任何在該管理網路上所使用到的頻寬並不會影響到在該生產網路上之可利用的頻寬。為了說明之目的,圖2係描繪兩個
使用者。一管理者270是一具有管理者憑證並且能夠在該系統上施加完全的控制的使用者。換言之,使用者270可被視為根使用者。一動作請求使用者280是一並不具有用於伺服器205的管理者憑證的使用者。然而,使用者280確實是有為了在該儲存裝置260上儲存一動作請求261、或者是傳送一動作請求至該管理控制器250所需的許可。儘管使用者270、280被描繪為人的使用者,但應瞭解的是在此所述的技術並不限於人的使用者。該些技術係等同可應用在其中使用者270、280的動作係利用程式執行的狀況中。
在操作上,該管理者270可以組態設定該公用程式236-a的操作。例如,該組態設定可包含決定該公用程式是多頻繁地檢查該儲存裝置260中的一動作請求261的存在與否。該組態設定亦可包含直接從該管理控制器接收動作請求。該公用程式亦可被組態設定以在一天中之指定的時間執行在該動作請求261中所指定的動作。該公用程式亦可被組態設定以容許該動作請求能夠立即觸發一動作。該公用程式亦可被組態設定以在執行藉由該動作請求所指定的動作之後的一指定的時間重新啟動該伺服器205。應該理解到的是,管理者270係控制公用程式236-a的組態設定,並且因此控制一包含在該系統的可供利用性上之任何相關的影響的動作請求何時被執行。
該動作請求使用者280可以藉由透過該管理控制器250來存取儲存裝置,以在儲存裝置260上儲存一動作請求261。該存取可以發生在該管理網路上,以使得在該生產網路上的頻寬並沒有被使用到。在某些實施方式中,該動作請求可以跳過儲存裝置260,並且直接被傳送至該公用程式236-a。該動作請求可以指定該動作將被執行的一時間。例如,該動作請
求可以指定該動作應該在一特定日期的一特定時間或是之後被執行。該動作請求亦可以指定該動作是立即將被執行。然而,如同將會在以下更詳細地加以解說的,管理者270所組態設定的公用程式236-a是一動作何時將被執行之最終的仲裁者。
該動作請求可以是具有一腳本的形式。該腳本可包含被該公用程式使用來執行該動作的資料。例如,在該伺服器205的各種週邊裝置240-242的韌體之更新的情形中,該動作請求腳本可以通知該公用程式有關於更新的韌體可被擷取的一儲存位置。例如,該腳本可包含更新的韌體套件可以從其中被下載的一網路位置。為了此說明之目的,用在該動作請求的執行的資料被稱為動作資料266。在一韌體更新的情形中,該動作資料可以是更新的韌體套件。然而,在此所述的技術並不只限於韌體更新。任意類型的可能需要管理者憑證之動作都可以利用在此所述的技術。例如,該動作請求可以是一表列的組態設定,並且該公用程式知道要如何施加那些設定至該伺服器205。
該公用程式236-a可以透過該管理控制器250以及管理網路220來下載任何所需的動作資料至該儲存裝置265。因此,下載該動作資料並不耗用在該生產網路上的任何頻寬,此係留下可利用於處理被指定至該伺服器的工作負荷之頻寬。
為了有助於在此提出的技術的說明,一驅動程式更新的一個例子被描述。例如,該驅動程式更新可以是去更新該HBA 240、NIC 241或是BIOS 242。為了此說明之目的,應該假設管理者憑證是更新該些驅動程式所需的。亦應該假設該動作請求使用者280並不擁有該管理者憑證,即
使該動作請求使用者是被授權以請求對於該伺服器的更新。應瞭解的是,管理者270係透過該公用程式236-a的組態設定來維持控制該動作請求是否被執行及/或何時被執行。
該過程可以開始於該更新使用者將一動作請求261寫入至該儲存裝置260。該更新使用者可以經由該管理控制器250以存取該儲存裝置260。將該動作請求寫入至該儲存裝置可以不需要管理者憑證。在一替代的例子中,該動作請求可以從該管理控制器被傳送至該公用程式,因此跳過該儲存裝置。該動作請求可以指定將被執行的動作。在本例子中,將被執行的動作可以是對於上述複數個構件中的一或多個之一韌體更新。然而,應瞭解的是該動作請求可以是以上提及的不同類型的更新之任一種。該動作請求可以具有一腳本的形式。該腳本可以指定將被執行的動作以及執行該動作所需的任何動作資料266的位置。此外,該腳本可以指定該動作何時將被執行的時間。例如,該腳本可以指定該動作是在一界定的時間之後被執行。或者是,該腳本可以指定該動作將立即被執行。儘管該動作腳本可以指定該動作將被執行的時間,但應瞭解的是此時間為該動作請求使用者較喜好該更新將被執行的時間。該動作實際上何時被執行之最終的決定係根據如同由該管理者使用者270所組態設定之公用程式236-a的組態設定而定。
如同在以上所提及的,在一實施方式中,該公用程式係藉由該管理者使用者270而被組態設定,以週期性地檢查該儲存裝置260中的一動作請求261的存在與否。該特定的週期對於在此所述的技術而言是相對為不重要的。例如,該週期可以是每分鐘、每五分鐘、每小時、每天、每
週、每月、或是任何其它週期。在其它實施方式中,該動作請求可以從該管理控制器直接被傳送至該公用程式。在判斷一動作請求是可供利用的之後,該公用程式可以決定該動作何時將被執行。
決定該動作何時將被執行可包含判斷是否有任何指定的時間內含在該動作請求中。例如,該動作請求可能會希望該動作立即被執行(例如是在一安全性更新的情形中,盡可能快速地施加該更新可能是所期望的)。替代的是,該動作請求可以指定該動作應該在一指定的時間之後加以執行(例如,在週五的午夜過後更新)。不論該動作請求指定該動作何時將被執行,應瞭解的是此僅僅為該公用程式的一輸入而已。該公用程式是做出關於該動作請求何時將被執行的最終決定。
在等待所決定的時間來到時,該公用程式可以下載任何所需的動作資料266至儲存裝置265。例如,在一韌體更新的情形中,該動作資料可以是更新的韌體套件。該公用程式可以藉由利用該管理網路220來下載該動作資料至該儲存裝置。因此,在該生產網路210上並沒有頻寬被用來下載該動作資料。如先前所提及的,該動作請求261本身可以指定該動作資料的位置。因此,該公用程式並不需要事先知道該動作資料的位置。
在所決定的時間來到之後,該公用程式可以起始該動作請求。例如,在一韌體更新的情形中,該公用程式可以開始該更新過程。該公用程式可以利用先前已經被下載的動作資料266。然而應瞭解的是,事先下載該動作資料並非必要的。在某些範例實施方式中,該動作資料可以在所決定的時間已經來到後才被下載。在某些實施方式中,該公用程式可以將一指示符寫入至該儲存裝置260,以指出該動作請求是在進行中。該動作
請求使用者280可以擷取此指示以判斷該動作請求是否在進行中。
應瞭解的是,該公用程式係能夠在管理者權限下執行。因此,即使該動作請求是藉由具有存取該管理控制器的權限、但是不具有管理者權限之動作請求使用者280所起始的,該動作仍然是利用管理者憑證來加以執行。就此而論,在該管理者憑證不曾被提供至動作請求使用者下,該動作請求使用者是能夠在該伺服器205上起始一需要在管理者憑證下執行的動作。
某些動作請求可能需要該伺服器205重新啟動以便於生效。該公用程式可以藉由該管理者使用者270來加以組態設定,以指定一重新啟動實際上何時發生。因此,由於處理該動作請求,該管理者使用者270仍然是負責該伺服器的任何無法利用的期間。在某些實施方式中,一旦包含任何重新啟動(若需要的話)的動作請求完成後,該公用程式可以寫入一完成的指示至該儲存裝置260。該動作請求使用者280可以擷取此指示以判斷該動作請求是否已經完成。
圖3是根據在此所述的技術的一用於擷取及執行一動作之高階流程圖的一個例子。在區塊310中,在一伺服器電腦上的一作業系統的控制下操作之一公用程式可以接收一動作請求的一指示。例如,如上所述的,該動作請求可以是具有一腳本的形式。該動作請求可以已經藉由一管理控制器而被接收到。例如,該動作請求的指示可以已經藉由該管理控制器而被接收到,並且儲存在一和該管理控制器相關的非揮發性記憶體中。在其它例子中,該動作請求可以跳過儲存,並且從該管理控制器被直接傳送至該公用程式。
藉由該管理控制器接收該動作請求可以不需要伺服器作業系統的管理者憑證。換言之,該動作請求的指示可以藉由一並不具有用於在該伺服器上執行的作業系統的管理者憑證之實體(人或是程式),進而藉由該管理控制器來加以接收,並且在某些實施方式中是被儲存在該管理控制器可存取的儲存裝置上。在區塊320中,一在該動作請求中所指定的動作可以藉由該公用程式來加以執行。該公用程式可以在作業系統的管理者憑證下執行,因此容許需要作業系統的管理者憑證的動作之完成。
圖4是根據在此所述的技術的一用於擷取及執行一動作之高階流程圖的另一個例子。在區塊410中,就如同以上在區塊310中的,在一伺服器電腦上的一作業系統的控制下操作之一公用程式可以接收一動作請求的一指示。該動作請求可以是已經藉由一管理控制器而被接收到。在該管理控制器中接收該動作請求可以不需要伺服器作業系統的管理者憑證。
在區塊420中,動作執行支援資料可以透過一管理網路而被下載到該伺服器電腦。該管理網路可以與該生產網路隔離的。換言之,完成該動作請求所需的任何檔案或是其它資料可被下載到該伺服器。此下載可以透過該管理網路來發生,並且因此並不耗用在該生產網路上的任何頻寬。例如,在一驅動程式更新的情形中,該更新的驅動程式檔案可以透過該管理網路而被下載到該伺服器。應瞭解的是,在此所述的技術並不限於驅動程式更新,並且可應用於執行該動作請求所需的任何資料。
在區塊430中,該公用程式可以決定該動作何時將被執行。該動作係在該所決定的時間來到之後才可以被執行。如同在以上所提及
的,決定何時執行該動作可包含檢查該動作請求本身以及用於該公用程式的組態設定參數。例如,該公用程式可以指定該動作將會一週一次,在一指定的時間被執行,除非該動作請求係指定一不同程度的急迫性。應該理解到的是,該公用程式係檢查在該動作請求中的所有組態設定及資訊,並且決定該動作何時將被執行。
在區塊440中,一旦該動作開始執行後,一動作進行中之指示可被寫入至該管理控制器可存取的儲存裝置。此係確保萬一該動作請求為了某種原因而失敗時,讓該公用程式知道該動作已經開始,因此防止該公用程式再次執行該動作請求。在區塊450中,在該動作請求中所指定的動作可以藉由該公用程式來加以執行。該動作的執行可以利用在區塊420中所下載的支援資料。
圖5是根據在此所述的技術的一用於更新作業系統的驅動程式更新之高階流程圖的一個例子。在區塊510中,一作業系統的驅動程式更新腳本可以從一管理控制器可存取的儲存裝置來加以擷取。例如,該管理控制器可存取的儲存裝置可以是一非揮發性記憶體。該管理控制器可以是和該處理器分開的,此表示該系統係包含至少兩個個別的處理器。那些處理器中之一是該管理控制器,並且至少一另外的處理器並未專用於管理功能。
該更新腳本可以透過一管理網路而被寫入至該管理控制器可存取的儲存裝置。如上所解說的,該管理網路可以是和一生產網路分開的。藉由透過該管理網路來下載該腳本,在該生產網路上並沒有頻寬被使用到。
在區塊520中,一OS更新套件可以從該OS驅動程式更新腳本中所指定的一位置處加以下載。該下載可以透過該管理網路來發生。就如上所述的,因為該下載是透過該管理網路發生的,因此在該生產網路上並沒有頻寬被該更新套件的下載所使用。再者,因為該更新套件的位置可以藉由該更新腳本來加以指定,事先知道該更新套件的位置不是必要的。在區塊530中,該OS驅動程式更新可被起始。
圖6是根據在此所述的技術的一用於更新作業系統的驅動程式更新之高階流程圖的另一個例子。在區塊610中,一管理控制器可存取的儲存裝置可以週期性地被檢查一OS驅動程式更新腳本的存在與否。在區塊620中,就如同以上在區塊510中的,一作業系統的驅動程式更新腳本可從一管理控制器可存取的儲存裝置來加以擷取。該管理控制器可以是與該處理器分開的。該更新腳本可以透過一管理網路而被寫入至該管理控制器可存取的儲存裝置。該管理網路可以是和一生產網路分開的。
在區塊630中,就如同以上在區塊520中的,一OS更新套件可以從該OS驅動程式更新腳本中所指定的一位置處加以下載。該下載可以透過該管理網路來發生。就如上所述的,在該生產網路上並沒有頻寬是被該更新套件的下載所使用到。同樣就如上所述的,事先知道該更新套件的位置不是必要的,因為其係指定在該更新腳本中。
在區塊640中,該OS驅動程式更新將會發生的一時間可被決定。該時間可以根據一內含在該更新腳本本身中的時間、該更新的一優先權、以及該更新效用的組態設定來加以決定。在區塊650中,該OS驅動程式更新的起始可被延遲,直到所決定的時間來到為止。在區塊660中,
該OS驅動程式更新可被起始。該OS驅動程式更新可包含利用在區塊630中所下載的那些內含在該OS更新套件中的來更新驅動程式。在區塊670中,在該OS驅動程式更新的完成時,OS驅動程式更新完成的一指示可被寫入至該管理控制器可存取的儲存位置。
100‧‧‧系統
110‧‧‧生產網路
120‧‧‧管理網路
130‧‧‧處理器
150‧‧‧管理控制器
160‧‧‧儲存裝置
161‧‧‧動作請求
Claims (13)
- 一種用於執行一動作請求之方法,其係包括:以於一伺服器電腦上的一作業系統的控制下運作之一公用程式來接收該動作請求的一指示,該動作請求的該指示是藉由一管理控制器來加以接收,其中該管理控制器與該伺服器電腦的處理器是分開的,且其中接收該動作請求指示並不需要伺服器作業系統的管理者憑證;以及藉由該公用程式來執行在該動作請求中所指定的一動作,其中該管理控制器具有一專用的儲存裝置,該專用的儲存裝置與該處理器所存取的儲存裝置是分開的。
- 如申請專利範圍第1項之方法,其進一步包括:透過一管理網路來下載動作執行支援資料至該伺服器電腦,其中該管理網路是與一生產網路隔離的。
- 如申請專利範圍第1項之方法,其中在該動作請求中所指定的該動作是一軟體更新請求。
- 如申請專利範圍第1項之方法,其進一步包括:藉由該公用程式來決定該動作何時將被執行,其中該動作直到該所決定的時間來到才加以執行。
- 如申請專利範圍第4項之方法,其中該動作請求可以指示立即的執行,該立即的執行之指示係使得該公用程式加速動作執行。
- 如申請專利範圍第4項之方法,其中該動作請求可以指示延遲的執行,該延遲的執行之指示係使得該公用程式延遲動作執行,直到在該動作請求中所指定的一時間之後為止。
- 如申請專利範圍第4項之方法,其進一步包括:一旦該動作開始執行後,將一動作進行中之指示寫入至該管理控制器可存取的儲存裝置。
- 一種非暫態的處理器可讀取的媒體,其上包含一組指令,當該組指令藉由一處理器執行時使得該處理器:從一管理控制器可存取的儲存裝置擷取一作業系統(OS)驅動程式更新腳本,該管理控制器是與該處理器分開的,該更新腳本是透過一管理網路而被寫入至該管理控制器可存取的儲存裝置,其中該管理控制器可存取的儲存裝置是該管理控制器所專用的,且與該處理器所存取的儲存裝置是分開的;從該OS驅動程式更新腳本中所指定的一位置處下載一OS更新套件,該下載是透過該管理網路發生的;並且起始該OS驅動程式更新,其中將該驅動程式更新腳本寫入至該管理控制器可存取的儲存裝置並不需要OS的管理者憑證,然而起始該OS驅動程式更新則需要OS的管理者憑證。
- 如申請專利範圍第8項之媒體,其進一步包括指令以:決定該OS驅動程式更新何時將會發生的一時間;並且延遲起始該OS驅動程式更新,直到該所決定的時間來到為止。
- 如申請專利範圍第8項之媒體,其進一步包括指令以:週期性地檢查該管理控制器可存取的儲存裝置中的該OS驅動程式更新腳本的存在與否。
- 如申請專利範圍第8項之媒體,其進一步包括指令以:在該OS驅動程式更新完成時,將OS驅動程式更新完成的一指示寫入至該管理控制器可存取的儲存裝置。
- 一種用於執行一動作請求之系統,其係包括:一管理控制器,其耦接至一管理網路;一第一儲存裝置,其耦接至該管理控制器,其中透過該管理網路接收到的該動作請求係儲存在該第一儲存裝置中;一處理器,其耦接至該管理控制器以及一生產網路,其中該處理器係執行一作業系統,透過該管理控制器從該第一儲存裝置擷取該動作請求,並且在不使用該生產網路下執行該動作請求,其中該管理控制器與該處理器是分開的;以及耦接至該處理器的複數個裝置,其中該動作請求是用以更新和該複數個裝置相關的驅動程式,其中寫入該動作請求至該第一儲存裝置並不需要管理者憑證,其中執行該動作請求需要管理者憑證,其中該第一儲存裝置是該管理控制器所專用的,且與該處理器所存取的儲存裝置是分開的。
- 如申請專利範圍第12項之系統,其進一步包括:一第二儲存裝置,其中用在該動作請求的該執行的資料係透過該管理網路而被下載到該第二儲存裝置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2014/041300 WO2015187175A1 (en) | 2014-06-06 | 2014-06-06 | Action execution based on management controller action request |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201610835A TW201610835A (zh) | 2016-03-16 |
TWI576762B true TWI576762B (zh) | 2017-04-01 |
Family
ID=54767115
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104117755A TWI576762B (zh) | 2014-06-06 | 2015-06-02 | 用於執行動作請求之方法和系統及其相關之非暫態的處理器可讀取媒體 |
Country Status (3)
Country | Link |
---|---|
US (3) | US10691440B2 (zh) |
TW (1) | TWI576762B (zh) |
WO (1) | WO2015187175A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10250600B2 (en) | 2015-07-27 | 2019-04-02 | International Business Machines Corporation | Updating database drivers for client applications through a database server push |
US9928056B1 (en) * | 2016-10-10 | 2018-03-27 | International Business Machines Corporation | Operating system update management |
US10747549B2 (en) * | 2017-07-19 | 2020-08-18 | Hewlett Packard Enterprise Development Lp | Proxy application to transfer application protocol requests over IOCTL commands |
US11334337B2 (en) | 2019-04-23 | 2022-05-17 | Hewlett Packard Enterprise Development Lp | Selecting and sending subset of components to computing device prior to operating system install |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6317742B1 (en) * | 1997-01-09 | 2001-11-13 | Sun Microsystems, Inc. | Method and apparatus for controlling software access to system resources |
US20120030332A1 (en) * | 2010-07-28 | 2012-02-02 | Pfu Limited | Management server, information processing device and computer-readable medium |
US20130339942A1 (en) * | 2012-06-19 | 2013-12-19 | Google Inc. | Automatic Application Updates |
Family Cites Families (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6167567A (en) * | 1998-05-05 | 2000-12-26 | 3Com Corporation | Technique for automatically updating software stored on a client computer in a networked client-server environment |
US7594107B1 (en) * | 1999-12-20 | 2009-09-22 | Entrust, Inc. | Method and apparatus for updating web certificates |
US7421688B1 (en) * | 2003-02-26 | 2008-09-02 | American Megatrends, Inc. | Methods and systems for updating the firmware on a plurality of network-attached computing devices |
US7434232B2 (en) * | 2003-11-07 | 2008-10-07 | Hewlett-Packard Development Company, L.P. | System and method for writing to a drive when an application lacks administrator privileges |
US7809836B2 (en) * | 2004-04-07 | 2010-10-05 | Intel Corporation | System and method for automating bios firmware image recovery using a non-host processor and platform policy to select a donor system |
US7752615B1 (en) * | 2005-04-29 | 2010-07-06 | Netapp, Inc. | Method and apparatus for deploying updates to a storage server management application |
US7484084B1 (en) | 2005-12-20 | 2009-01-27 | Netapp, Inc. | Use of a baseboard management controller to facilitate installation of firmware in a processing system |
US8490093B2 (en) * | 2006-02-03 | 2013-07-16 | Microsoft Corporation | Managed control of processes including privilege escalation |
US8635376B2 (en) * | 2006-02-22 | 2014-01-21 | Emulex Design & Manufacturing Corporation | Computer system input/output management |
US8584115B2 (en) * | 2006-10-05 | 2013-11-12 | International Business Machines Corporation | Automated operating system device driver updating system |
US8302092B2 (en) * | 2007-06-26 | 2012-10-30 | Microsoft Corporation | Extensible data driven deployment system |
US20090007256A1 (en) * | 2007-06-28 | 2009-01-01 | Microsoft Corporation | Using a trusted entity to drive security decisions |
US20100281173A1 (en) * | 2009-05-01 | 2010-11-04 | Microsoft Corporation | Delegated administration for remote management |
US20170111368A1 (en) * | 2009-06-22 | 2017-04-20 | Beyondtrust Software, Inc. | Systems and methods for true privilege application elevation |
US20110030036A1 (en) * | 2009-07-31 | 2011-02-03 | Wells Jr James W | Running a software module at a higher privilege level in response to a requestor associated with a lower privilege level |
JP5391937B2 (ja) * | 2009-09-03 | 2014-01-15 | 株式会社リコー | 画像形成装置、ライセンス処理方法、及びライセンス処理プログラム |
US10177934B1 (en) * | 2009-09-04 | 2019-01-08 | Amazon Technologies, Inc. | Firmware updates inaccessible to guests |
US8719782B2 (en) * | 2009-10-29 | 2014-05-06 | Red Hat, Inc. | Integrated package development and machine configuration management |
KR20100048965A (ko) * | 2010-03-12 | 2010-05-11 | 블루가 (주) | 웹 기반 사용자 인터페이스 구현 장치 및 그 방법 |
US8505003B2 (en) * | 2010-04-28 | 2013-08-06 | Novell, Inc. | System and method for upgrading kernels in cloud computing environments |
US8555377B2 (en) * | 2010-04-29 | 2013-10-08 | High Cloud Security | Secure virtual machine |
US9686255B2 (en) * | 2010-07-21 | 2017-06-20 | Citrix Systems, Inc. | Systems and methods for an extensible authentication framework |
WO2012050590A1 (en) | 2010-10-16 | 2012-04-19 | Hewlett-Packard Development Company, L.P. | Device hardware agent |
JP2012088901A (ja) * | 2010-10-19 | 2012-05-10 | Fujitsu Ltd | ソフトウェア管理装置、ソフトウェア管理方法およびソフトウェア管理プログラム |
US20120102480A1 (en) * | 2010-10-20 | 2012-04-26 | Microsoft Corporation | High availability of machines during patching |
US8417737B2 (en) * | 2010-10-20 | 2013-04-09 | Microsoft Corporation | Online database availability during upgrade |
US20120102484A1 (en) * | 2010-10-20 | 2012-04-26 | Microsoft Corporation | Installing software remotely using a high privilege process |
US8830228B2 (en) | 2010-12-20 | 2014-09-09 | Microsoft Corporation | Techniques for enabling remote management of servers configured with graphics processors |
CN102346460B (zh) * | 2011-05-27 | 2013-11-13 | 运软网络科技(上海)有限公司 | 一种基于事务的服务控制系统及其控制方法 |
CN102855146B (zh) | 2011-06-30 | 2016-05-11 | 鸿富锦精密工业(深圳)有限公司 | 固件更新系统及方法 |
KR101845290B1 (ko) * | 2011-08-25 | 2018-04-04 | 엘지전자 주식회사 | 장치 관리 명령을 통한 펌웨어 갱신 방법 및 장치 |
DE112011105577T5 (de) * | 2011-08-30 | 2014-05-08 | Hewlett-Packard Development Company, L.P. | Virtueller hochprivilegierter Modus für eine Systemverwaltungsanforderung |
US9311107B2 (en) * | 2011-09-12 | 2016-04-12 | Microsoft Technology Licensing, Llc | Booting devices via the cloud |
US9390255B2 (en) * | 2011-09-29 | 2016-07-12 | Oracle International Corporation | Privileged account manager, dynamic policy engine |
EP2607987A1 (en) | 2011-12-19 | 2013-06-26 | Fujitsu Limited | Computing apparatus and system for remote control of operating states |
US8375385B1 (en) * | 2011-12-19 | 2013-02-12 | Emc Corporation | Techniques for parallel drive upgrade while maintaining host accessibility |
US20130238785A1 (en) * | 2012-03-06 | 2013-09-12 | Rackspace Us, Inc. | System and Method for Metadata Discovery and Metadata-Aware Scheduling |
CN103365667B (zh) * | 2012-03-26 | 2018-01-26 | 联想企业方案(新加坡)有限公司 | 一种在主机系统中安装操作系统的方法和装置 |
JP5773166B2 (ja) * | 2012-04-05 | 2015-09-02 | 株式会社日立製作所 | 計算機の制御方法、計算機及び計算機システム |
US9158564B2 (en) * | 2012-04-30 | 2015-10-13 | American Megatrends, Inc. | Virtual service processor stack |
US8924547B1 (en) * | 2012-06-22 | 2014-12-30 | Adtran, Inc. | Systems and methods for managing network devices based on server capacity |
US9405682B2 (en) * | 2012-06-23 | 2016-08-02 | Microsoft Technology Licensing, Llc | Storage device access using unprivileged software code |
US9369867B2 (en) * | 2012-06-29 | 2016-06-14 | Intel Corporation | Mobile platform software update with secure authentication |
KR101884713B1 (ko) * | 2012-07-20 | 2018-08-30 | 삼성전자주식회사 | 홈 네트워크 시스템 및 상기 시스템에서의 공유기의 네트워크 설정 방법 |
US9208338B2 (en) * | 2012-07-26 | 2015-12-08 | Adobe Systems Incorporated | Method and apparatus for securely executing multiple actions using less than a corresponding multiple of privilege elevation prompts |
US8594850B1 (en) * | 2012-09-30 | 2013-11-26 | Nest Labs, Inc. | Updating control software on a network-connected HVAC controller |
US10069838B2 (en) * | 2012-12-18 | 2018-09-04 | Adobe Systems Incorporated | Controlling consumption of hierarchical repository data |
US9300726B2 (en) * | 2013-01-15 | 2016-03-29 | International Business Machines Corporation | Implementing a private network isolated from a user network for virtual machine deployment and migration and for monitoring and managing the cloud environment |
US9483245B2 (en) * | 2013-01-23 | 2016-11-01 | Red Hat Israel, Ltd. | Matching database schema with application code using dependency management |
US9521188B1 (en) * | 2013-03-07 | 2016-12-13 | Amazon Technologies, Inc. | Scheduled execution of instances |
JP6251604B2 (ja) * | 2013-03-11 | 2017-12-20 | ルネサスエレクトロニクス株式会社 | フィンfet構造を有する半導体装置及びその製造方法 |
US9047112B2 (en) * | 2013-03-12 | 2015-06-02 | American Megatrends, Inc. | Installation of virtual service processor to computer system having existing operating system |
US9058251B1 (en) * | 2013-03-13 | 2015-06-16 | Google Inc. | Detecting external software update failure of local application |
US20140279799A1 (en) * | 2013-03-14 | 2014-09-18 | Bank Of America Corporation | Providing rewards buckets and savings towards specific goals |
US20140330936A1 (en) * | 2013-05-02 | 2014-11-06 | International Business Machines Corporation | Secure isolation of tenant resources in a multi-tenant storage systemwith inter-server communication |
US20140331337A1 (en) * | 2013-05-02 | 2014-11-06 | International Business Machines Corporation | Secure isolation of tenant resources in a multi-tenant storage system using a gatekeeper |
US9460474B2 (en) * | 2013-05-03 | 2016-10-04 | Salesforce.Com, Inc. | Providing access to a private resource in an enterprise social networking system |
US9342288B2 (en) * | 2013-05-31 | 2016-05-17 | Itron, Inc. | Surfacing cross platform applications |
US9311110B2 (en) * | 2013-07-08 | 2016-04-12 | Intel Corporation | Techniques to initialize from a remotely accessible storage device |
US9298439B2 (en) * | 2013-07-16 | 2016-03-29 | Dropbox, Inc. | System and method for installing a client application using a light installer |
US9288058B2 (en) * | 2013-09-03 | 2016-03-15 | Red Hat, Inc. | Executing compliance verification or remediation scripts |
US9674168B2 (en) * | 2013-09-19 | 2017-06-06 | Oracle International Corporation | Privileged account plug-in framework-step-up validation |
US8910283B1 (en) * | 2013-11-21 | 2014-12-09 | Kaspersky Lab Zao | Firmware-level security agent supporting operating system-level security in computer system |
US9880867B2 (en) * | 2013-12-06 | 2018-01-30 | Vmware, Inc. | Method and subsystem for data exchange between a guest operating system and a virtualization layer |
US9335986B1 (en) * | 2013-12-11 | 2016-05-10 | Amazon Technologies, Inc. | Hot patching to update program code and/or variables using a separate processor |
US20150169310A1 (en) * | 2013-12-12 | 2015-06-18 | Lenovo (Singapore) Pte, Ltd. | Maintaining firmware |
-
2014
- 2014-06-06 US US15/305,430 patent/US10691440B2/en active Active
- 2014-06-06 WO PCT/US2014/041300 patent/WO2015187175A1/en active Application Filing
-
2015
- 2015-06-02 TW TW104117755A patent/TWI576762B/zh not_active IP Right Cessation
-
2020
- 2020-05-13 US US15/930,587 patent/US11210078B2/en active Active
-
2021
- 2021-12-20 US US17/645,199 patent/US11714632B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6317742B1 (en) * | 1997-01-09 | 2001-11-13 | Sun Microsystems, Inc. | Method and apparatus for controlling software access to system resources |
US20120030332A1 (en) * | 2010-07-28 | 2012-02-02 | Pfu Limited | Management server, information processing device and computer-readable medium |
US20130339942A1 (en) * | 2012-06-19 | 2013-12-19 | Google Inc. | Automatic Application Updates |
Also Published As
Publication number | Publication date |
---|---|
US20200272447A1 (en) | 2020-08-27 |
US11714632B2 (en) | 2023-08-01 |
US20170039060A1 (en) | 2017-02-09 |
WO2015187175A1 (en) | 2015-12-10 |
TW201610835A (zh) | 2016-03-16 |
US11210078B2 (en) | 2021-12-28 |
US20220113959A1 (en) | 2022-04-14 |
US10691440B2 (en) | 2020-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11714632B2 (en) | Action execution based on management controller action request | |
US10592269B2 (en) | Dynamic code deployment and versioning | |
US10437617B2 (en) | Offline volume modifications | |
US9652273B2 (en) | Method and system for creating a hierarchy of virtual machine templates in a virtualized computing system | |
US8677449B1 (en) | Exposing data to virtual machines | |
TW201319946A (zh) | 用於系統管理請求之虛擬高特權模式 | |
US9754110B2 (en) | Configuring configuration settings using a user context | |
CN113826072B (zh) | 系统管理模式中的代码更新 | |
US9235511B2 (en) | Software performance by identifying and pre-loading data pages | |
US20060059327A1 (en) | Method to reset an image to a known state | |
US10972350B2 (en) | Asynchronous imaging of computing nodes | |
US20160321057A1 (en) | Electronic apparatus | |
US11630591B1 (en) | System and method to manage storage system for startup | |
TWI662419B (zh) | 具有儲存實體資源的本地磁碟的網路系統 | |
JP6192089B2 (ja) | 情報処理装置、情報処理装置の制御方法及び制御プログラム | |
WO2016054886A1 (zh) | 一种软件升级方法、装置和电子设备、存储介质 | |
WO2017117854A1 (zh) | 一种在OpenPower CPU架构服务器BOOT中提供针对PCIE卡配置能力的方法 | |
US12008084B2 (en) | System and method for autonomous software licensing during bootup process | |
KR101262353B1 (ko) | 어플리케이션 접근권한 관리 시스템 및 방법 | |
US20210191705A1 (en) | Installing Multiple Patches During Upgrades | |
JP2006259874A (ja) | コンピュータとコンピュータシステム | |
US20140281309A1 (en) | Transforming a shared virtualized space to an enclosed space |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |