TW201502799A - 用於運算節點之可編程式件更新技術 - Google Patents
用於運算節點之可編程式件更新技術 Download PDFInfo
- Publication number
- TW201502799A TW201502799A TW103110497A TW103110497A TW201502799A TW 201502799 A TW201502799 A TW 201502799A TW 103110497 A TW103110497 A TW 103110497A TW 103110497 A TW103110497 A TW 103110497A TW 201502799 A TW201502799 A TW 201502799A
- Authority
- TW
- Taiwan
- Prior art keywords
- node
- programmable
- update
- programmable component
- component
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1433—Saving, restoring, recovering or retrying at system level during software upgrading
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
對於擁有一個第一可編程式件以及包含一個第一節點與一個第二節點之多個運算節點,開始該第一節點透過一外部網路從該第一可編程式件更新到一個第二可編程式件的更新動作。響應於該更新被中斷,藉著透過一內部網路從該第二節點取回該第一可編程式件,該第一可編程式件自動在該第一節點上被復原。響應於該第一節點更新到該第二可編程式件之動作的完成,藉著透過該內部網路從該第一節點取回該第二可編程式件,該第二節點被自動更新到該第二可編程式件。
Description
本發明係有關於運算節點之可編程式件更新技術。
某些運算系統可能採用使用一個可編程式件(programmable)獨立運作的多個獨立處理器。各獨立處理器所使用的可編程式件之更新會遭受到損壞的更新和未在計畫中的阻斷。此等損壞的更新或未在計畫中的阻斷可能導致一個或多個處理器停用,直到一個技術員啟動的回復動作完成為止。
依據本發明之一實施例,係特地提出一方法,其包含對於擁有一個第一可編程式件且包含一個第一節點和一個第二節點的多個運算節點,開始透過一外部網路使該第一節點從該第一可編程式件更新到一個第二可編程式件的一更新動作;響應於該更新的中斷,藉著透過一內部網路從該第二節點取回該第一可編程式件,自動在該第一節點上復原該第一可編程式件;以及響應於該第一節點更新到該第二可編程式件的動作之完成,藉著透過該內部網路從該
第一節點取回該第二可編程式件,自動使該第二節點更新到該第二可編程式件。
20、320‧‧‧運算節點更新系統
24A-B、324A-D‧‧‧運算節點
26‧‧‧內部通訊網路
28‧‧‧外部通訊網路
30A-B‧‧‧處理單元
32A-B、54‧‧‧記憶體
34、334‧‧‧可規劃儲存部分
50、350‧‧‧來源
52‧‧‧處理器
100、200‧‧‧方法
104-114、216-220‧‧‧步驟
322‧‧‧伺服器
330A-D‧‧‧管理處理器
328‧‧‧外部網路
36A-B、336A-D‧‧‧更新與中斷回復模組
321‧‧‧管理者
323‧‧‧框架/機架
326‧‧‧內部網路
圖1係一個範例式運算節點更新系統的概圖。
圖2係可能由圖1的運算節點更新系統所執行之一個範例式方法的流程圖。
圖3係可能由圖1的運算節點更新系統所執行之另一個範例式方法的流程圖。
圖4係依照一個第一韌體V1去管理伺服器的另一個範例式運算節點更新系統之概圖。
圖5係圖4的運算節點更新系統在透過一外部網路嘗試將主要節點更新到一個第二韌體V2期間之一個概圖。
圖6係圖4的運算節點更新系統在主要節點更新發生中斷時之一個概圖。
圖7係圖4中運算節點更新系統之一個概圖,其描繪藉由透過一個內部網路從一個次要節點取回第一韌體而進行之主要節點的回復。
圖8係圖4中運算節點更新系統之一個概圖,其描繪節點再一次地依照第一韌體V1運作。
圖9係圖4中運算節點更新系統之一個概圖,其描繪主要節點完成至第二韌體V2的一個更新和藉由從主要節點透過內部網路傳送第二韌體V2啟動次要節點的更新。
圖10為次要節點更新發生損壞或中斷時,圖4的
運算節點更新系統之一個概圖。
圖11係圖4中運算節點更新系統之一個概圖,其描繪藉由透過一個內部網絡從主要節點取回第二韌體V2而進行之次要節點的回復。
圖12係圖4中運算節點更新系統之一個概圖,其描繪依照第二韌體去管理伺服器每一個節點。
圖1概略描繪一個範例式運算節點更新系統20。運算節點更新系統20採用依據一個或多個可編程式件操作的多個獨立運作處理器。如後文將會描述,運算節點更新系統20使多個節點更新至不同可編程式件的更新動作更便利。當遭遇更新中斷時,運算節點更新系統20係在用較少或無使用者介入、無形成外部網路聯結和無組件更換之狀況下促進自動回復。
運算節點更新系統20包含多個運算節點24A、24B(統稱為運算節點24)。運算節點們24彼此互相連結,或者透過一個內部通訊網路26彼此通訊。節點24中至少有一個節點進一步與外部通訊網路28通訊。為了本說明書揭露的方便,”外部網路”一詞指的是一個通訊網路或是電腦網路,其提供節點24和在容納、支撐或裝載多個與節點24相關聯的運算裝置之框架或機架外的設備之間的連接性。例如,一個框架或機架可能包含多個運算裝置,諸如由節點24管理的伺服器。一個”外部網路”指的是促進此等節點24到其他使用者、或其它在框架或機架外的運算裝置之通訊
的一個通訊網路和其組件。一個外部網路包含促進此類外部通信的網路集線器與交換器、客戶機和服務協定。為了本說明書揭露的方便,”內部網路”一詞指的是使節點24與在特定框架或機架中之其它運算裝置互相連接的一個通訊網路或電腦網路(交換器)。例如,一個內部網路使節點24與包含或裝載在同一個框架之內的運算裝置互相連結。一個內部網路不支援與終端使用者的連接性。雖然節點24A被描繪為與一個外部網路28通訊,在其他實施態樣中,節點24中的兩個節點都可能與外部網路28通訊。
運算節點24A、24B個別包含處理單元30A、30B(統稱為處理單元30)與記憶體32A、32B。處理單元30各包含一個或多個處理單元用以執行一個或多個功能。在一個實施態樣中,各處理單元30為一組伺服器、卡匣(cartridge)及類似設備執行一個或多個管理作業或功能。在一實施態樣中,節點24的處理單元30共同協力管理一群伺服器,其中各節點24A、24B為該群伺服器執行整體建立群組之管理任務之一特定部分。在其他實施態樣中,各處理單元30執行其他管理或運算作業。
為了此申請案說明之方便,”處理單元”一詞將意指執行包含在記憶體中的指令序列之一個現今已開發出來的或未來將開發的處理單元。指令序列的執行致使處理單元完成諸如產生控制信號的步驟。指令可能從一個唯讀記憶體(ROM)、一個大量儲存裝置或某些其它永久儲存體載入到一個隨機存取記憶體(RAM)中,以供由處理單元執
行。在其它實施例中,硬佈線電路可能被用來取代或與軟體指令結合去實施所描述的功能。例如,節點24中一個或多個節點可能至少被部分地體現為一個或多個特定應用積體電路(ASIC)之部分。除非特別提及,否則節點24各不限於硬體電路與軟體的任何特定組合,也不限於由處理單元所執行之指令的任何特定來源。
節點24的記憶體32各包括了包含用以指揮特定節點24的相關聯處理器30A、30B之編碼或其他電腦可讀程式或指令的一個非暫留電腦可讀媒體。在所描繪的範例中,記憶體32A、32B分別包含可規劃儲存部分34A、34B(統稱為可規劃儲存部分34)和更新與中斷回復模組36A、36B(統稱為更新與中斷回復模組36)。可規劃儲存部分34包含了記憶體32的部分,其存放在執行一個或多個運算作業中指揮處理器30或由處理器30利用的一個或多個可編程式件。為了本說明書揭露之方便,”可編程式件”一詞意指被處理器30A、30B用來執行一個或多個作業的那些指令或資料/參數。一個”可編程式件”包含韌體、規劃指令、參數和設定。一個”可編程式件”可能以一個快閃影像、一個資料檔、規劃碼、可規劃資料和類似者來提供。一個”可編程式件”可能有多個不同或獨特部分,各部分指揮節點24中一個被指定者之運作,其中該等不同部分在指揮該等多個節點24時協力運作。
在所描繪的例子中,可規劃儲存部分34各被描繪為目前包含了供相關聯處理器30所使用之同一個或多個可
編程式件P1。雖然節點24各包括了同一個可編程式件P1或根據它來運作,但可編程式件P1在某些實施態樣中可能指揮特定相關聯處理器30去執行不同的作業或功能,諸如在節點24各專用於不同的管理任務組之實施態樣中。在一個實施態樣中,一個單一可編程式件可能包括多個部分(規劃指令、設定、參數、資料或類似者),各部分被指定給節點24中一個不同節點。
節點24的更新與中斷回復模組36包含了在存放於可規劃儲存部分34中的一個或多個可編程式件之更新時用來指揮相關聯處理器30的程式指令。此外,在發生一個損壞或中斷的更新時,各模組36A、36B進一步被組配去指揮處理器。圖2係描繪可能由模組36所執行用以更新系統20的一個範例式方法100之一個流程圖。如步驟104所指的,方法100開始於接收到一個更新命令時。在一個實施態樣中,更新命令由一個使用者輸入或接收自一個管理者。在所描繪的例子中,更新命令是要把各節點24上的可編程式件P1更新成從一個來源50(示於圖1)透過一外部網路28所提供之一個不同的可編程式件P2。在所描繪的例子中,來源50包含擁有一個處理器52和一個存放更新可編程式件P2的記憶體54之一個管理者。在所描繪的例子中,外部網路包含一個廣域網路(網際網路)或一個區域網路(local area network)。
如步驟106所指,節點24A上的更新與中斷回復模組36藉著透過外部網路28從來源50獲得可編程式件P2,
開始節點24A上從可編程式件P1到可編程式件P2的更新。在一個實施態樣中,在各節點24上的模組36各包含了指示哪一個節點24被指定為”主要節點”的一個設定,該主要節點要早於其它”次要節點”24初始地用一個新的可編程式件更新。在所描繪範例中,節點24依照一個預定的指定次序更新。在此等實施態樣中,依照指定次序首先更新的節點24可能包含與其它節點24的更新與中斷回復模組的指令不同之指令。在節點24A被指定早於其他節點24去接收更新之所描繪的範例中,模組36A指揮節點24A之相關聯處理器30去執行步驟106-112,而節點24B的模組36B(和系統20之任何另外未描繪出來的節點24)指揮它的相關聯處理器去執行步驟114。在另一個實施態樣中,步驟104中的更新命令可能指定哪一個節點24是要早於其它節點24在初始時更新。在此一實施態樣中,各模組36可能有指令依據所輸入更新次序去執行步驟106-112。
如步驟108和110所示,在可編程式件的初始更新期間,模組36A監測更新進度以確認是否發生了一中斷或更新何時完成或結束。在一更新期間可能發生之中斷的範例包括,但不限於,由於為了除錯或維修的目的而移除一個可插入裝置導致的損壞、由於系統20中電力循環而發生的一個損壞/中斷、或在更新期間的一個電力消失狀況。如步驟110所示,在發現發生一個中斷時,模組36A自動指揮處理器30A透過內部網路26從諸如節點24B之其他節點中的一個節點取回之前的可編程式件P1。因此,在等待一個更
新命令再一次地被提供去重啟節點24A更新到可編程式件P2之另一個嘗試時,節點24A不會被引致無法運作及被停用。而可編程式件P1會自動回復,並且節點24A自動回到一個工作的狀態,其中處理器30利用之前的可編程式件P1運作。這樣的回復係在無使用者介入、無外部網路連結的需要(在此回復期間外部網路28不會被利用)和無組件更換的狀況下進行。各節點24自動會合在跨越一系列的節點24統一或一致的可編程式件。
如步驟114所示,假如第一節點24A從可編程式件P1至P2的更新成功完成,系統20的其它節點用目前包含在第一節點24A可規劃儲存部分34中的可編程式件P2更新。在所描繪例子中,節點24B從可編程式件P1更新到可編程式件P2的動作,使用節點24A上透過內部網路26傳送至節點24B的更新可編程式件P2而開始。因此,系統20之其它節點的更新不會使用到外部網路28。與一個外部網路的使用相對比,一個內部網路的使用提供一個先驗已知的組態與特性和一個保證的資源。在其它實施態樣中,更新可能透過諸如一個區域網路的一個單一外部網路實行。一旦完成了更新,更多額外步驟中的一個步驟即可被執行去啟動或從事被更新的改變。例如,系統20可能重載入、重設定、或等待一個事件、命令或信號而用已更新的改變去運作。
圖3係描繪方法200之一個流程圖,此方法係可能由模組36所執行用來更新系統20之另一範例式方法。方法200類似於方法100,除了方法200明確地包括了用以於主要
節點24的一個更新完成後從次要節點24更新期間發生的中斷而回復的附加步驟。與方法100的步驟對應之方法200中那些剩下來的步驟以類似方式標號。
如步驟216和218所示,一旦次要節點24B的更新在步驟114中開始,模組36B即監測節點24B的更新是否發生中斷或完成。假如一個中斷被發現,模組36B藉著再一次地透過內部網路26從主要節點24A取回已更新的可編程式件P2,而自動重啟節點24B的更新動作。或者,模組36B藉著再一次地從已完成更新的節點24和系統20中的其它節點擷取已更新的可編程式件P2,而自動重啟節點24B之更新動作。如步驟220所示,在確認次要節點24B更新到已更新可編程式件P2之動作已成功完成時,即對於可能是系統20的部分之各個其它節點24重複執行步驟114、216和218。在此狀況中,次要節點24B上的已更新可編程式件P2也可能用在其它此等次要節點24的更新中。
雖然步驟114、216、218和220係針對一個或多個次要節點24B次序地或串列地更新的一個實施態樣來描述,但在其他實施態樣中,步驟114、216和218可能在多個次要節點24B上平行地或同時地執行。在次要節點24B串列地更新或平行地更新之任一情形中,至少一個完整的影像已建立在主要節點24A上,而確保一個”故障前進(fail forward)”或”故障復原(fail back)”的回復。一旦完成更新,更多額外步驟中的一個可能被執行去啟動或從事已更新的改變。例如,系統20可能重載入、重設定或等待一個事件、
命令信號而用已更新的改變去運作。
圖4概略的描繪運算節點更新系統320,其為運算節點更新系統20的一範例式實施態樣。如圖4所示,系統320包含了管理構成一個機架或框架323的卡匣或伺服器322的運作之管理器321。由管理器321所管理的伺服器322的運作或功能之例子包括了,但不限於,監測控制溫度、開關狀態、錯誤監測、指示器監測、事件監測、儲存器中的遙感測量擷取、維護活動與事件紀錄、遠端操作與部署和類似功能等。在所描繪的例子中,管理器321利用多個運算節點324A、324B、324C和324D(統稱為運算節點324)執行伺服器322的監測或管理。類似於系統20的運算節點24,運算節點324A、324B、324C和324D分別包含具有一個相關聯的更新與中斷回復模組336A、336B、336C和336D的管理處理器330A、330B、330C和330D。管理處理器324各透過一個內部網路326通訊地連接至其它節點324。管理處理器324各通訊地連接至一個外部網路328。
節點324各進一步包含用來存放用於特定的管理處理器330的可編程式件之一個可規劃儲存部分334。在所描繪的例子中,存放在儲存部分334中的可編程式件包含韌體快閃影像。圖4描繪在節點324各依據韌體快閃影像上提供的韌體之一個第一版本V1管理伺服器322的一個狀態下之系統320。
圖5-12描繪依據圖3所示的方法200之一個實施態樣的運算節點324更新動作。如圖5所示,響應於每一次
在步驟104中接收一個更新命令,可編程式件韌體V1更新開始於主要運算節點324A。管理處理器330A,遵循模組336A所提供之指令,透過外部網路328從來源350取回或在其他狀況下接收更新可編程式件V2韌體,其為可編程式件的版本2。在所描繪的例子中,更新是透過快閃規劃。如圖3的步驟108和112所示,在更新的開始時,主要節點324A的模組336A監測更新是否中斷/損壞或完成。
圖6描繪發生一個中斷時的系統320。在所描繪的例子中,中斷是一個故障的快閃規劃的結果。由於更新損壞,主要節點324A重新設定,但停止在無效的或損壞的韌體影像。如圖7所示,響應於損壞快閃規劃的中斷,模組336A自動(無使用者介入或啟動)啟動回復動作。如圖3的步驟110所示,模組336A透過內部網路326自動從諸如節點324B的一個次要節點取回之前的可編程式件,韌體V1。雖然圖7描繪主要節點324從次要節點324B自動取回一個完整的韌體影像V1,主要節點324可能透過內部網路326替換地從任何其它同等的次要節點324C或324D取回完整的韌體影像V1。
如圖8所示,由於回復,節點324各依照第一韌體版本V1運行或運作。在此回復之後,且如針對方法200在圖3中所示,更新到韌體版本V2可能再一次嘗試。在所描繪的例子中,嘗試去更新主要節點324A到韌體版本V2,在接收到另一個更新命令後進行。在另個實施態樣中,更新主要節點324A到韌體版本V2的嘗試,在無使用者啟用或介入的
狀況下自動地發生。再一次地,模組336A在步驟108和112監測後續更新動作的嘗試,其中後續的中斷導致每一步驟110的後續取回動作,以及其中更新的完成導致程序繼續前進到步驟114。
如圖3的步驟114所示和如圖9所示,主要節點324A到韌體版本V2的更新完成時,一個或多個其它次要節點324B、324C和324D從韌體版本V1至韌體版本V2之更新,藉著透過內部網路326自主要節點324A傳送韌體版本V2到正要更新的次要節點324上,而自動開始(無使用者啟動或介入)。在所描繪的例子中,各其它次要節點324同時更新。在另一實施態樣中,次要節點324可能依序更新。如示於圖3方法200的步驟216和218所示,次要節點324的模組336監測它們的相關聯節點324上的更新進度。
圖10描繪一個或多個次要節點324之更新經歷一個中斷或損壞的狀況。在所描繪的例子中,次要節點324各被描繪為有一個損壞的更新。根據圖3的步驟216,發生一個中斷/損壞時,次要節點324各重設定並且一個回復程序自動開始。特別地,有損壞更新的各次要節點324之模組336再一次透過內部網路326從主要節點324A自動取回或回復更新韌體V2。在次要節點324於步驟220每一次執行時依序更新的實施態樣中,更新韌體V2的回復可能來自於任一個已完成更新的其它節點。
如圖12所示,方法200完成時,管理器321的節點324各會合在同一個更新的可編程式件,韌體V2。任何所遭
遇的中斷為一些損壞,此等損壞指的是於任何更新在無其中有管理器321停用的延長時段和外部網路328的使用縮減的狀況下進行之期間的損壞。從損壞或中斷回復的動作,係在無使用者介入、無外部網路連結之需要(此回復期間外部網路28不會被利用)和無組件更換之情況下進行。一旦完成更新,多個額外步驟中的一個步驟即可能被實行去啟動或從事已更新的改變。例如,系統320可能重載入、重設定或等待一個事件、命令信號而用已更新的改變去運作。
雖然本揭露說明係參考範例式實施例來描述,熟悉此領域技術的工作者將認知到,在不偏離所請求標的內容之範圍及精神的前提下,可在形式及細節上做改變。例如,雖然不同的範例式實施例可能描述為包括提供了一個或多個好處之一個或多個特徵,但應知,所描述特徵在所描述的範例式實施例中或在其它替換實施例中,可彼此互換或可替換地彼此結合。因為本揭露的技術相當複雜,並非該技術上的所有改變都可預見。參考範例式實施例所描述的和在接下來的申請專利範圍中所陳述的本揭露內容係明顯意圖盡可能廣泛。例如,除非特別提及,否則陳述一個單一特定元件的請求項也包括多個此等特定元件。
20‧‧‧運算節點更新系統
24A-B‧‧‧運算節點
28‧‧‧外部通訊網路
32A-B、54‧‧‧記憶體
36A-B‧‧‧更新與中斷回復模組
26‧‧‧內部通訊網路
30A-B‧‧‧處理單元
34‧‧‧可規劃儲存部分
52‧‧‧處理器
50‧‧‧來源
Claims (15)
- 一種方法,包含:對於擁有一個第一可編程式件且包含一個第一節點和一個第二節點的多個運算節點,開始透過一外部網路將該第一節點從該第一可編程式件更新到一個第二可編程式件的一更新動作;響應於該更新的中斷,藉著透過一內部網路從該第二節點取回該第一可編程式件,自動在該第一節點上復原該第一可編程式件;以及響應於該第一節點更新到該第二可編程式件的動作之完成,藉著透過該內部網路從該第一節點取回該第二可編程式件,自動使該第二節點更新到該第二可編程式件。
- 如請求項1之方法,更包含響應於該第二節點之一早先更新受到中斷的狀況下,自動重啟該第二節點透過該內部網路更新到從該第一節點來的該第二可編程式件的動作。
- 如請求項1之方法,其中該第一可編程式件包含供一節點處理單元用的第一程式指令,並且其中該第二可編程式件包含供該節點處理單元用的第二程式指令。
- 如請求項3之方法,其中該第一程式指令包含程式指令之一個第一快閃影像,並且該第二程式指令包含程式指令之一個第二快閃影像。
- 如請求項3之方法,其中該第一節點包含一個第一管理處理器和第一記憶體,並且其中該第二節點包含一個第二管理處理器和第二記憶體。
- 如請求項5之方法,其中該第一管理處理器和該第二管理處理器為一組伺服器共同執行管理功能,該第一管理處理器遵循該等第一程式指令或該等第二程式指令為該組伺服器執行該等管理功能之一個第一部分,並且該第二管理處理器遵循該等第一程式指令或該等第二程式指令為該組伺服器執行該等管理功能中與該第一部分不同的一個第二部分。
- 如請求項1之方法,其中被該第二可編程式件更新的該第一可編程式件從由下列項目組成之一群可編程式件中選出:韌體、憑證路徑發展函式庫/程式協定函式庫(CPLD/PAL)影像、欄位可更換單元(FRU)資料、參數、設定、程式指令和檔案。
- 一種裝置,包含:一非暫時性電腦可讀媒體,其含有用以指揮一處理單元去進行下列動作的電腦可讀代碼:開始一第一節點透過一外部網路從第一可編程式件更新到一個第二可編程式件的更新動作;響應於該更新被中斷,藉著透過一內部網路從一第二節點取回該第一可編程式件,自動在第一節點上復原該第一可編程式件;以及響應於該第一節點更新到該第二可編程式件的動 作之完成,藉著透過該內部網路從該第一節點取回該第二可編程式件,自動使該第二節點更新到該第二可編程式件。
- 如請求項8之裝置,其中該電腦可讀代碼係組配來響應於該第二節點早先更新受到中斷之狀況,來指揮該處理單元自動重啟該第二節點透過該內部網路更新到從該第一節點來的該第二可編程式件之動作。
- 一種裝置,包含:運算節點,該等運算節點各藉著一內部網路與彼此連接以及包含一處理器和存放一個第一可編程式件和一個中斷回復模組的一記憶體,其中該中斷回復模組包含用以指揮該處理器進行下列動作的程式指令:開始該等運算節點中的一個第一節點透過一外部網路從該第一可編程式件更新到一個第二可編程式件的動作;響應於該更新被中斷,藉著透過該內部網路從該等運算節點中的一個第二節點取回該第一可編程式件,自動在該第一節點上復原該第一可編程式件;以及響應於該第一節點更新到該第二可編程式件的動作之完成,藉著透過該內部網路從該第一節點取回該第二可編程式件,自動使該第二節點更新到該第二可編程式件。
- 如請求項10之裝置,其中該中斷回復模組係另組配來響應於該第二節點的一早先更新受到中斷的情況,重啟該 第二節點透過該內部網路更新到從該第一節點來的該第二可編程式件的動作。
- 如請求項10之裝置,更包含多個伺服器,其中該等運算節點係組配來使用該第一可編程式件或該第二可編程式件之任一,來管理該等伺服器的運作。
- 如請求項12之裝置,其中該第一可編程式件包含一個第一韌體,以及其中該第二可編程式件包含一個第二韌體。
- 如請求項12之裝置,其中該第一節點包含一個第一管理處理器,以及其中該第二節點包含一個第二管理處理器,其中該第一管理處理器和該第二管理處理器共同為該等伺服器執行管理功能,該第一管理處理器遵循第一程式指令或第二程式指令為該等伺服器執行該等管理功能的一個第一部分,並且該第二管理處理器遵循該等第一程式指令或該等第二程式指令為該等伺服器而執行該等管理功能中與該第一部分不同的一個第二部分。
- 如請求項10之裝置,其中被該第二可編程式件更新的該第一可編程式件從由下列項目組成之一群可編程式件中選出:韌體、憑證路徑發展函式庫/程式協定函式庫(CPLD/PAL)影像、欄位可更換單元(FRU)資料、函式庫/動態鏈結函式庫(DLL)、可執行可鏈結檔案(ELF)、數位憑證和信任鏈資訊、資產(asset)資訊、作業系統組件和驅動程式、腳本(script)和應用小程式(applet)、參數、設定、程式指令和檔案。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2013/034663 WO2014158194A1 (en) | 2013-03-29 | 2013-03-29 | Update of programmable for computing nodes |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201502799A true TW201502799A (zh) | 2015-01-16 |
TWI509421B TWI509421B (zh) | 2015-11-21 |
Family
ID=51624972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103110497A TWI509421B (zh) | 2013-03-29 | 2014-03-20 | 用於運算節點之可編程式件更新技術 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11582101B2 (zh) |
TW (1) | TWI509421B (zh) |
WO (1) | WO2014158194A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI688862B (zh) * | 2018-06-26 | 2020-03-21 | 日商日立江森自控空調有限公司 | 維護系統、維護用基板及資料寫入方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10437580B2 (en) | 2017-09-11 | 2019-10-08 | Apple Inc. | Software updating methods and systems |
FR3105854B1 (fr) * | 2019-12-31 | 2024-07-19 | St Microelectronics Rousset | Système embarqué |
FR3105853B1 (fr) * | 2019-12-31 | 2023-01-06 | Proton World Int Nv | Système embarqué |
US12112153B2 (en) * | 2022-01-31 | 2024-10-08 | Hewlett Packard Enterprise Development Lp | Environment establishment for a program in a server system |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6678741B1 (en) | 1999-04-09 | 2004-01-13 | Sun Microsystems, Inc. | Method and apparatus for synchronizing firmware |
US6904457B2 (en) * | 2001-01-05 | 2005-06-07 | International Business Machines Corporation | Automatic firmware update of processor nodes |
US7200845B2 (en) | 2001-12-03 | 2007-04-03 | Hewlett-Packard Development Company, L.P. | System and method for high availability firmware load |
US7219343B2 (en) | 2003-04-10 | 2007-05-15 | International Business Machines Corporation | Firmware update mechanism in a multi-node data processing system |
US7584466B1 (en) | 2003-06-16 | 2009-09-01 | Hewlett-Packard Development Company, L.P. | Management tree management in a mobile handset |
US20070169075A1 (en) * | 2003-09-05 | 2007-07-19 | David Lill | Synchronizing and controlling software downloads, such as for utility meter-reading data collection and processing |
US7461374B1 (en) * | 2003-12-01 | 2008-12-02 | Cisco Technology, Inc. | Dynamic installation and activation of software packages in a distributed networking device |
US20080184020A1 (en) | 2007-01-25 | 2008-07-31 | International Business Machines Corporation | Apparatus and method to update firmware disposed in multiple devices sharing a common address in a computing system |
US7761734B2 (en) * | 2007-04-13 | 2010-07-20 | International Business Machines Corporation | Automated firmware restoration to a peer programmable hardware device |
KR100951622B1 (ko) * | 2008-05-02 | 2010-04-09 | 강릉원주대학교산학협력단 | 무선센서 네트워크의 노드에 대한 펌웨어 업데이트 방법 및이에 사용되는 펌웨어 업데이트장치 |
JP5346253B2 (ja) * | 2009-08-24 | 2013-11-20 | 株式会社日立ソリューションズ | ファームウェア更新システム、及び情報機器、並びにプログラム |
US9146725B2 (en) * | 2009-11-04 | 2015-09-29 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Propagating firmware updates in a peer-to-peer network environment |
WO2011095914A1 (en) * | 2010-02-04 | 2011-08-11 | Nokia Corporation | Systems, methods, and apparatuses for facilitating distribution of firmware updates |
US8495618B1 (en) * | 2010-03-31 | 2013-07-23 | American Megatrends, Inc. | Updating firmware in a high availability enabled computer system |
KR101383691B1 (ko) * | 2010-10-25 | 2014-04-09 | 한국전자통신연구원 | 무선 메쉬 네트워크에서의 협력적 무선 펌웨어 업데이트 장치 및 방법 |
US20120110562A1 (en) | 2010-10-27 | 2012-05-03 | David Heinrich | Synchronized firmware update |
US8677343B2 (en) * | 2011-09-16 | 2014-03-18 | Cisco Technology, Inc. | Centrally coordinated firmware upgrade model across network for minimizing uptime loss and firmware compatibility |
US8782632B1 (en) * | 2012-06-18 | 2014-07-15 | Tellabs Operations, Inc. | Methods and apparatus for performing in-service software upgrade for a network device using system virtualization |
US9420065B2 (en) * | 2013-01-18 | 2016-08-16 | Google Inc. | Peer-to-peer software updates |
US9710251B2 (en) * | 2013-03-15 | 2017-07-18 | Vivint, Inc. | Software updates from a security control unit |
-
2013
- 2013-03-29 US US14/781,301 patent/US11582101B2/en active Active
- 2013-03-29 WO PCT/US2013/034663 patent/WO2014158194A1/en active Application Filing
-
2014
- 2014-03-20 TW TW103110497A patent/TWI509421B/zh not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI688862B (zh) * | 2018-06-26 | 2020-03-21 | 日商日立江森自控空調有限公司 | 維護系統、維護用基板及資料寫入方法 |
Also Published As
Publication number | Publication date |
---|---|
TWI509421B (zh) | 2015-11-21 |
US11582101B2 (en) | 2023-02-14 |
US20160057001A1 (en) | 2016-02-25 |
WO2014158194A1 (en) | 2014-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI509421B (zh) | 用於運算節點之可編程式件更新技術 | |
JP4641546B2 (ja) | 入出力(i/o)エラーをハンドリングするための方法及びシステム | |
US20140123121A1 (en) | Rack and method thereof for simultaneously updating basic input output systems | |
US8892712B2 (en) | Upgrading enterprise managers | |
US10880153B2 (en) | Method and system for providing service redundancy between a master server and a slave server | |
WO2018095414A1 (zh) | 虚拟机故障的检测和恢复方法及装置 | |
JP6292045B2 (ja) | ソフトウェア情報管理プログラム、ソフトウェア情報管理装置およびソフトウェア情報管理方法 | |
RU2602378C1 (ru) | Стойка с множеством модулей управления стойкой и способ обновления встроенного программного обеспечения, используемого для стойки | |
US10496495B2 (en) | On demand remote diagnostics for hardware component failure and disk drive data recovery using embedded storage media | |
CN111045866A (zh) | 一种bmc故障处理方法、装置、电子设备及存储介质 | |
WO2018095107A1 (zh) | 一种bios程序的异常处理方法及装置 | |
TWI261748B (en) | Policy-based response to system errors occurring during OS runtime | |
US10983825B2 (en) | Processing for multiple containers are deployed on the physical machine | |
CN111800304A (zh) | 进程运行的监测方法、存储介质和虚拟装置 | |
EP2590072A1 (en) | System control device, information processing system, and data migration and restoration method for information processing system | |
US9882779B2 (en) | Software version maintenance in a software defined network | |
WO2016101474A1 (zh) | 配置数据的监控方法、装置及其系统 | |
CN111078452A (zh) | 一种bmc固件镜像恢复方法与装置 | |
US20150378809A1 (en) | Methods for implementing error detection and recovery and devices thereof | |
CN109189444A (zh) | 一种服务器虚拟化系统的管理节点的升级控制方法及装置 | |
US8843665B2 (en) | Operating system state communication | |
JP7043737B2 (ja) | 情報処理システム及び情報処理方法 | |
JP2010278742A (ja) | コンフィグ履歴管理装置 | |
JP6424134B2 (ja) | 計算機システム及び計算機システムの制御方法 | |
WO2012177597A1 (en) | Networking elements as a patch distribution platform for distributed automation and control domains |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |