TWI716969B - 經由資料塊段之復原影像下載技術 - Google Patents

經由資料塊段之復原影像下載技術 Download PDF

Info

Publication number
TWI716969B
TWI716969B TW108129143A TW108129143A TWI716969B TW I716969 B TWI716969 B TW I716969B TW 108129143 A TW108129143 A TW 108129143A TW 108129143 A TW108129143 A TW 108129143A TW I716969 B TWI716969 B TW I716969B
Authority
TW
Taiwan
Prior art keywords
data block
recovery agent
image
recovery
computing device
Prior art date
Application number
TW108129143A
Other languages
English (en)
Other versions
TW202036310A (zh
Inventor
朱利安諾 F C 席爾卡瑞
羅蘭度 R 費瑞拉
艾德森 S 比涅克
Original Assignee
美商惠普發展公司有限責任合夥企業
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商惠普發展公司有限責任合夥企業 filed Critical 美商惠普發展公司有限責任合夥企業
Publication of TW202036310A publication Critical patent/TW202036310A/zh
Application granted granted Critical
Publication of TWI716969B publication Critical patent/TWI716969B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1461Backup scheduling policy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Retry When Errors Occur (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一種包含有指令之實例非暫時性電腦可讀儲存媒體,當該等指令被執行時,致使一運算裝置的一處理器可以:回應於接收到來自一復原代理器的一塊段大小請求經由該運算裝置的韌體指令確定一塊段大小,該復原代理器可在該運算裝置之一作業系統處執行;把該塊段大小從該等韌體指令發送給該復原代理器;從該復原代理器循序地接收一復原影像的資料塊段;把該等資料塊段儲存在該運算裝置的一儲存裝置中;以及使用該等資料塊段建構該復原影像。

Description

經由資料塊段之復原影像下載技術
發明領域 本發明係有關於經由資料塊段之復原影像下載技術。
發明背景 一運算裝置的作業系統可以控制運算裝置的許多方面。當該作業系統被破壞或損壞時,該運算裝置的該等操作可能受到嚴格地限制,或者該運算裝置可能變得無法操作。
依據本發明之一實施例,係特地提出一種包含有指令之非暫時性電腦可讀儲存媒體,當該等指令被執行時,致使一運算裝置的一處理器可以:回應於接收到來自一復原代理器的一塊段大小請求經由該運算裝置的韌體指令確定一塊段大小,該復原代理器可在該運算裝置之一作業系統處執行;把該塊段大小從該等韌體指令發送給該復原代理器;從該復原代理器循序地接收一復原影像的資料塊段;把該等資料塊段儲存在該運算裝置的一儲存裝置中;以及使用該等資料塊段建構該復原影像。
較佳實施例之詳細說明 當一運算裝置的一作業系統被損壞或破壞時,該作業系統可以經由一復原操作來被修復。該運算裝置可以把一復原影像儲存在該運算裝置之一儲存裝置的一保留分區中。該運算裝置可以使用該復原影像替換該損壞或損壞的作業系統。然而,一旦該運算裝置更新了該作業系統(例如,藉由安裝安全性補丁),該儲存的復原映像可能會變得過時。這可能會產生安全性問題及使用者摩擦,因為該作業系統將會被復原成沒有最新的安全性補丁,並且該使用者可能需要花費大量的時間來安裝該安全性補丁。此外,該保留分區會減少該運算裝置可以使用的該可用磁碟空間。
本文所描述的實例提供了一種經由資料塊段下載復原影像的方法。例如,一非暫時性電腦可讀儲存媒體可包含指令,當該等指令被執行時致使一運算裝置的一處理器可以:回應於接收自一復原代理器的一塊段大小請求,經由該運算裝置的韌體指令確定一塊段大小,該復原代理器可在該運算裝置之一作業系統處執行;把該塊段大小從該等韌體指令傳輸到該復原代理器;從該復原代理器循序地接收一復原影像的資料塊段;把該等資料塊段儲存在該運算裝置的一儲存裝置中;以及使用該等資料塊段建構該復原影像。
在另一實例中,一非暫時性電腦可讀儲存媒體可包含指令,當該等指令被執行時致使一運算裝置的一處理器可以:經由可在該運算裝置之一作業系統處執行的一復原代理器從該運算裝置的韌體指令請求一塊段大小;回應於接收到該塊段大小,經由該復原代理器從一伺服器下載該復原影像的一第一資料塊段,其中該第一資料塊段的大小對應於該塊段大小;從該伺服器接收該第一資料塊段;把該第一資料塊段從該復原代理器發送到該等韌體指令;以及回應於從該等韌體指令接收到與該第一資料塊段相關聯之的一確認,經由該復原代理器從該伺服器下載該復原影像的一第二資料塊段。
在另一實例中,一運算裝置可以包含一第一儲存裝置、儲存在該第一儲存裝置中的韌體指令、一第二儲存裝置、一復原代理器及一作業系統(OS)、一第三儲存裝置、以及一處理器。該復原代理器及該OS可被儲存在該第二儲存裝置中。該處理器可以經由該等韌體指令確定一復原影像的一塊段大小。該處理器還可以經由該復原代理器從一伺服器下載該復原影像的一第一資料塊段。該第一資料塊段的一大小可以對應於該塊段大小。該處理器更可以,回應於該第一資料塊段係有效的一確定,經由該復原代理器從該伺服器下載該復原影像的一第二資料塊段。該第二資料塊段的一大小可以對應於該塊段大小。該處理器更可以經由該等韌體指令在該第三儲存裝置中儲存該第一資料塊段及該第二資料塊段。該處理器更可以使用該第一塊段及該第二塊段經由該等韌體指令建構該復原影像。本文所描述之實例可以增加與修復一作業系統相關聯的靈活性及/或便利性。
圖1根據一實例圖示出一系統100用以經由資料塊段從一伺服器向一運算裝置發送一復原影像。系統100可以包括一運算裝置102及一伺服器104。
運算裝置102可以是,例如,一筆記型電腦、一桌上型電腦、一單體全備系統、一平板運算裝置、一行動電話、一電子書閱讀器、或適於經由資料塊段下載復原影像之任何其他的電子裝置。在一些實例中,伺服器104可以是類似於運算裝置102。在一些實例中,伺服器104可以是一基於網頁的伺服器、一區域網路伺服器、一基於雲端的伺服器、或適於經由資料塊段發送一復原影像之任何其他的電子裝置。
運算裝置102可以包括一處理器106、一第一儲存裝置108、一第二儲存裝置110、以及一第三儲存裝置112。第一儲存裝置108、第二儲存裝置110、以及第三儲存裝置112之每一個可以係一相異裝置。運算裝置102還可以包括儲存在第一儲存裝置108中的韌體指令114。運算裝置102更可以包括一作業系統(OS) 116及復原代理器118。OS 116及復原代理器118可被儲存在第二儲存裝置110中。
如在本文中所使用的,第一儲存裝置108、第二儲存裝置110、以及第三儲存裝置112可以是非依電性記憶體。即使在重新通電之後,非依電性記憶體也可以保留儲存的資料。在一些實例中,第一儲存裝置108可以使用一電子可抹除可規劃唯讀記憶體(EEPROM)裝置(例如,一EEPROM晶片)來實現。可以使用一固態碟(SSD)或一硬碟(HDD)來實現第二儲存裝置110。第三儲存裝置112可以使用一嵌入式多媒體儲存卡(eMMC)裝置來實現。
如在本文中所使用的,韌體指令114可以是一連串可由處理器106執行的指令。韌體指令114可被儲存在非依電性記憶體中,諸如第一儲存裝置108。韌體指令114可以是運算裝置102的該基本輸入/輸出系統(BIOS),其初始化運算裝置102的硬體並在運算裝置102啟動時載入OS 116。可以基於統一可延伸韌體介面(UEFI)規格來實現韌體指令114。
如在本文中所使用的,OS 116可以是一連串可由處理器106所執行的指令。當OS 116正在執行時,OS 116可管理運算裝置102之硬體及軟體兩者的資源。在一些實例中,OS 116可被實現為一32位元作業系統。在一些實例中,OS 116可被實現為一64位元作業系統。在一些實施例中,OS 116可被實現為一Windows作業系統。在一些實例中,OS 116可以實現為一Linux作業系統。
如在本文中所使用的,復原代理器118可以是一連串可由處理器106所執行的指令。復原代理器118可以被實現為執行在OS 116之內的一背景程序(例如,一Windows服務、常駐程式、等等)。
在操作期間,復原代理器118可以自動地(即,沒有任何使用者輸入)週期性地執行(例如,每小時、每天、等等)。在執行期間,復原代理器118可以判定一復原影像更新條件是否已經被滿足。在一些實例中,復原代理器118可以與伺服器104進行通信,以確定儲存在伺服器104中一第二復原影像120的一日期。復原代理器118可以把第二復原影像120的該日期與儲存在第三儲存裝置112中一第一復原影像122的一日期進行比較。如在本文中所使用的,一復原影像(第一復原影像122及第二復原影像120)可以是一檔案其包含有OS 116的該等內容及結構。
復原代理器118可基於該比較來判定一復原影像更新條件是否已經被滿足。如果第一復原影像122的該日期係早於第二復原影像120的該資料,則復原代理器118可以確定該復原影像更新條件已經被滿足。因此,復原代理器118可確定該第二復原影像120將要被下載,以取代第一復原影像122。在一些實例中,不是使用日期,而是其他的方面,諸如復原影像120及122之各別的版本號碼、年份、等等可被使用來執行該比較。
在一些實例中,復原代理器118可在每一次復原代理器118被執行時不用進行該比較就從伺服器104下載一復原影像。在一些實例中,如果復原代理器118檢測到沒有復原影像被儲存在第三儲存裝置112中,則復原代理器118可從伺服器104下載一復原影像。
回應於確定要從伺服器104下載第二復原影像120,復原代理器118可從韌體指令114接收一塊段大小以被使用來下載第二復原影像120。復原代理器118可以以資料塊段的形式下載第二復原影像120,其中每一個資料塊段的大小係基於該塊段大小。例如,該塊段大小可以是1024位元組。當該塊段大小被確定,復原代理器118可以藉由從伺服器104請求第二復原影像120的資料塊段來開始下載第二復原影像120。
回應於接收該請求,伺服器104可以在循序地傳送該等資料塊段。例如,伺服器104可以把一第一資料塊段124發送到復原代理器118。回應於接收到第一資料塊段124,復原代理器118可以把第一資料塊段124發送到韌體指令114。韌體指令114可以驗證第一資料塊段124。在一些實例中,韌體指令114可以使用雜湊值來驗證第一資料塊段124。
回應於判定該第一資料塊段124係有效的,韌體指令114可以通知復原代理器118確認韌體指令114已經接收到第一資料塊段124。另外,韌體指令114可以把第一資料塊段124儲存在第三儲存裝置112中。在一些實例中,第三儲存裝置112可能僅經由韌體指令114來存取。OS 116可能不能夠存取第三儲存裝置112。因此,儲存在第三儲存裝置112中的資料(例如,第一資料塊段124)可能不太可能被包括在內如果OS 116被包括的話。回應於接收到來自韌體指令114與第一資料塊段124相關聯的一確認,復原代理器118可以開始從伺服器104下載第二復原影像120的一第二資料塊段126。回應於判定第一資料塊段124係無效的,韌體指令114可以拒絕第一資料塊段124。當韌體指令114拒絕第一資料塊段124時,復原代理器118可以再次地下載第一資料塊段124。
在修復或替換OS 116之一復原操作間,韌體指令114可以刪除第一復原影像122及使用第二復原影像120之所有的資料塊段(例如,第一資料塊段124及第二資料塊段126)來在第三儲存裝置112中建構第二復原影像120。當第二復原影像120被建構時,韌體指令114可以丟棄第二復原影像120之所有的資料塊段。在一些實例中,在韌體指令114將要建構第二復原影像120之前,韌體指令114可以再次地驗證所有的資料塊段。當所有的資料塊段被驗證時,韌體指令114可以建構第二復原影像120並使用第二復原影像120來修復及/或替換OS 116。
藉由以資料塊段的方式下載第二復原影像120及把該等資料塊段直接地儲存在第三儲存裝置112中,在第二儲存裝置110中用於復原影像儲存的一保留分區可被避免。因此,在第二儲存裝置110中有更多的儲存空間可供運算裝置102的使用者來使用。此外,在復原操作期間可以避免重啟運算裝置102,因為第二復原影像120並不是從第二儲存裝置110被複製到第三儲存裝置112。
圖2根據一實例圖示出在一復原影像下載操作期間在圖1之運算裝置102的復原代理器118與運算裝置102的韌體指令114之間的訊息及資料交換。
回應於確定復原代理器118將要從伺服器104下載一復原影像,諸如第二復原影像120,復原代理器118可以發送一塊段大小請求202給韌體指令114。回應於接收到塊段大小請求202,韌體指令114可以決定一塊段大小204。在一些實例中,塊段大小204可以是固定的並被儲存在運算裝置102中(例如,在第一儲存裝置108中)。韌體指令114可以檢索塊段大小204並把塊段大小204發送給復原代理器118。
在一些實例中,韌體指令114可以動態地基於塊段大小請求202來決定塊段大小204。也就是說,韌體指令114可對每一個塊段大小請求決定一不同的塊段大小。在一些實例中,塊段大小請求202可以包括第二復原影像120的一大小、在運算裝置102處的一網路連接品質、處理器106的一利用率百分比、或它們的一種組合。應被理解的是,塊段大小請求202可以包括指出在運算裝置102上一工作負載之任何其他的資訊。
使用在塊段大小請求202中的該資訊,韌體指令114可以計算塊段大小204,使得下載該等資料塊段對於運算裝置102的該效能上會具有最小的影響。例如,當運算裝置102的工作負載繁重及/或該網路連接具有低頻寬時,韌體指令114不會把塊段大小204設定為一較大的單元(例如,以百萬位元組為單位)用於一較短的下載過程,而是會把塊段大小204設定成一較小的單元(例如,以位元組為單位)。當運算裝置102具有輕負載及/或網路連接具有高頻寬時,韌體指令114可以把塊段大小204設置為一較大的單元。
當塊段大小204被確定,韌體指令114可傳送塊段大小204給復原代理器118。復原代理器118可以開始從伺服器104以資料塊段的方式下載第二復原影像120。每一個資料塊段可具有對應於塊段大小204的一大小。當復原代理器118從伺服器104接收到第一資料塊段124時,復原代理器118可以把第一資料塊段124發送給韌體指令114。
當韌體指令114成功地驗證的第一資料塊段124時,韌體指令114可以發送一確認206給復原代理器118。韌體指令114可以把第一資料塊段124儲存在第三儲存裝置112中,如在圖1中所述。確認206可以告知復原代理器118指出韌體指令114已經接收到第一資料塊段124。回應於接收到確認206,復原代理器118可以從伺服器104下載下一個資料塊段(例如,第二資料塊段126),然後把第二資料塊段126發送給韌體指令114。韌體指令114可以以與第一資料塊段124相同的方式來處理第二資料塊段126。
當韌體指令114無法成功地驗證第一資料塊段124時,韌體指令114可以發送一個錯誤訊息208給復原代理器118。錯誤訊息208可以指出韌體指令114已經拒絕第二資料塊段。回應於接收到錯誤訊息208,復原代理器118可以再次地從伺服器104下載第二資料塊段126用以重複該過程。
當韌體指令114已經接收到並且接受第二復原影像120之所有的資料塊段時,韌體指令114可以發送一終止訊息210給復原代理器118,以指出第二復原影像120的該下載已經完成。回應於接收到終止訊息210,復原代理器118可以終止與伺服器104的該下載過程。
圖3根據一實例圖示出在一運算裝置處之一種操作的方法300用以經由資料塊段下載一復原影像。方法300可以由圖1至2的復原代理器118來實現。
在302,復原代理器118可判定一復原影像更新條件是否已被滿足。例如,復原代理器118可以把第一復原影像122與第二復原影像120進行比較。如果第一復原影像122比第二復原影像120舊,則復原代理器118可以判定已經滿足該復原影像更新條件。在304,回應於判定該復原影像更新條件已經被滿足,復原代理器118可以從韌體指令114請求塊段大小204。例如,復原代理器118可以把塊段大小請求202發送給韌體指令114來請求塊段大小204。
在306,復原代理器118可以從伺服器104基於塊段大小204下載一資料塊段。例如,復原代理器118可從伺服器104下載第二復原影像120的第一資料塊段124。在308,復原代理器118可以把第一資料塊段124發送給韌體指令114。在310,復原代理器118可以判定第一資料塊段124是否已被韌體指令114所接受。例如,當第一資料塊段124已被接受時,復原代理器118可以接收到來自韌體指令114的確認206。當第一資料塊段已被拒絕時,復原代理器118可以接收到來自韌體指令114的錯誤訊息208。
當第一資料塊段124已經被拒絕,復原代理器118可以從伺服器104再次地下載第一資料塊段124。當第一資料塊段124已經被接受時,復原代理器118可以在312判定是否已經接收到終止訊息210。當已經接收到終止訊息210時,復原代理器118可以終止第二復原影像120的下載過程。當復原代理器118尚未接收到終止訊息210時,在314處復原代理器118可以從伺服器104下載第二復原影像120的下一資料塊段(例如,第二資料塊段126)。
圖4根據另一實例圖示出在一運算裝置處之一種操作的方法400用以經由資料塊段下載一復原影像。方法400可以由圖1至2的韌體指令114來實現。
在402,韌體指令114可以接收到來自復原代理器118的塊段大小請求202。在404,韌體指令114可基於塊段大小請求202來決定塊段大小204。在一些實例中,塊段大小204可以是固定的並可被儲存在第三儲存裝置112中。因此,韌體指令114回應於接收到塊段大小請求202可以檢索該固定塊段大小204。在一些實例中,可基於塊段大小請求202中的資訊來計算塊段大小204。塊段大小請求202可以包括指出運算裝置102之工作負荷的資訊,韌體指令114可以基於該工作負荷來計算塊段大小204。
在406,韌體指令114可傳送塊段大小204給復原代理器118。在408,韌體指令114可從復原代理器118接收一資料塊段,諸如第一資料塊段124。在410,韌體指令114可以驗證第一資料塊段124以判定是否要接受第一資料塊段124。當第一資料塊段124被成功地驗證時,韌體指令114可接受第一資料塊段124。例如,當第一資料塊段124的一雜湊值與一期望的雜湊值匹配時,韌體指令114可以成功地驗證第一資料塊段124。當該雜湊值與該期望的雜湊值不匹配時,第一資料塊段124可能驗證失敗。
在412,當韌體指令114拒絕第一資料塊段124時,韌體指令114可發送錯誤訊息208給復原代理器118,以指出該第一資料塊段124已被拒絕。在414,當韌體指令114接受第一資料塊段124時,韌體指令114可以把第一資料塊段124儲存在第三儲存裝置112中。在416,韌體指令114可以把確認206發送給復原代理器118以指出該第一資料塊段124已被接受了。
在418,韌體指令114可判定是否有還多個資料組塊將來自復原代理器118。例如,復原代理器118可從伺服器104獲取第二復原影像120的該大小。復原代理器118可以在塊段大小請求202中包括第二復原影像120的該大小。韌體指令114可以基於第二復原影像120的該大小來計算資料塊段的數量。韌體指令114可以計算已接受資料塊段的數量以判定是否還有更多的資料塊段將來自復原代理器118。當預期有更多的資料塊段時,韌體指令114可等待來自復原代理器118的下一資料塊段。
在420,當韌體指令114判定最後的資料塊段已被接受,韌體指令114可以發送終止訊息210給復原代理器118,以指出第二復原影像120之所有的資料塊段都已被接收及接受。因此,復原代理器118可以終止第二復原影像120的該下載過程。
圖5根據一實例圖示出一運算裝置500用以經由資料塊段下載一復原影像。運算裝置500可以實現圖1的運算裝置102。運算裝置500可包括一處理器502及一電腦可讀儲存媒體504。
處理器502可以是一中央處理單元(CPU)、一基於半導體的微處理器、及/或適於檢索及執行儲存在電腦可讀儲存媒體504中指令之其他的硬體裝置。處理器502可以提取、解碼、及執行指令506、508、510、512、及514以從一伺服器,諸如伺服器104,下載一復原影像。作為一替代方式或附加於檢索及執行指令,處理器502可包括至少一個電子電路,該電子電路包括電子元件用於執行指令506、508、510、512、514、或者它們之一種組合的該功能性。
電腦可讀儲存媒體504可以是包含或儲存可執行指令之任何電子、磁性、光學、或其他的實體儲存裝置。因此,電腦可讀儲存媒體504可以是,例如,隨機存取記憶體(RAM)、一電子可抹除可規劃唯讀記憶體(EEPROM)、一儲存裝置、一光碟、等等。在一些實例中,儲存媒體504可以是一非暫時性的儲存媒體,其中術語「非暫時性的」不包含暫時性的傳播信號。電腦可讀儲存媒體504可被編碼成具有一連串之處理器可執行的指令506、508、510、512、以及514。
塊段大小確定指令506可以確定塊段大小204。例如,參考圖2,韌體指令114可以確定塊段大小204。塊段大小發送指令508可以把該塊段大小從韌體指令114發送給復原代理器118。例如,參考圖2,韌體指令114可以把塊段大小204發送給復原代理器118。資料塊段接收指令510可以接收來自復原代理器118的資料塊段。例如,參考圖2,韌體指令114可以接收來自復原代理器118的第一資料塊段124。
資料塊段儲存指令512可以把接收到的資料塊段儲存在一儲存裝置中。例如,參考圖1,韌體指令114可以把第一資料塊段124儲存在第三儲存裝置112中。復原影像建構指令514可以使用資料塊段來建構一復原影像。例如,參考圖1,韌體指令114可以使用第二復原影像120之所有的資料塊段(例如,第一資料塊段124及第二資料塊段126)在第三儲存裝置112中建構第二復原影像120。
圖6根據另一實例圖示出運算裝置500用以經由資料塊段下載一復原影像。除了被編碼有指令506、508、510、512、及514之外,電腦可讀儲存媒體504還可被編碼成具有指令602、604、606、608、及610。
資料塊段驗證指令602可以驗證每一個接收到的資料塊段,諸如第一資料塊段124及第二資料塊段126。例如,參考圖1,韌體指令114可以驗證第一資料塊段124。確認發送指令604可以向復原代理器118發送一確認。例如,參考圖2,當韌體指令114成功地驗證第一資料塊段124時,韌體指令114可以把確認206發送給復原代理器118。
錯誤訊息發送指令606可以發送一錯誤訊息給復原代理器118。例如,參考圖2,當韌體指令114無法成功地驗證第一資料塊段124時,韌體指令114可以把一錯誤訊息208發送給復原代理器118。
終止訊息發送指令608可以發送終止訊息210給復原代理器118。例如,參照圖2,當韌體指令114已經接收並接受第二復原影像120之所有的資料塊段時,韌體指令114可以把終止訊息210發送給復原代理器118以指出第二復原影像120的下載已經完成。在第二復原影像120被建構在第三儲存裝置112中之後,資料塊段丟棄指令610可以丟棄儲存在第三儲存裝置112中所有的資料塊段。例如,參照圖1,當第二復原影像120被建構時,韌體指令114可以丟棄第二復原影像120之所有的資料塊段。
圖7根據另一實例圖示出一運算裝置700用以經由資料塊段下載一復原影像。運算裝置700可以實現圖1的運算裝置102。運算裝置700可以包括處理器502及一電腦可讀儲存媒體702。電腦可讀儲存媒體702可以類似於電腦可讀儲存媒體504。
電腦可讀儲存媒體702可被編碼成具有指令704、706、以及708。在一些實例中,電腦可讀儲存媒體702還可以被編碼成具有指令710。塊段大小請求指令704可傳送塊段大小請求202給韌體指令114。例如,參考圖2,復原代理器118可以把塊段大小請求202發送給韌體指令114。資料塊段下載指令706可以從伺服器104下載資料塊段。例如,參考圖2,復原代理器118可從伺服器104下載資料塊段124及126。
資料塊段發送指令708可以傳送資料塊段給韌體指令114。例如,參考圖1,復原代理器118可以把資料塊段124及126發送給韌體指令114。資料塊段下載終止指令710可以終止一復原影像的一下載過程,諸如第二復原影像120的下載。例如,參見圖2,回應於接收到終止訊息210,復原代理器118可以終止與伺服器104的該下載過程。
「包括」、「包含」或「具有」的使用係同義的,並且在本文中其之變型被意旨係包含性的或開放式的,並不排除有另外未陳述之要素或方法步驟。
100:系統 102、500、700:運算裝置 104:伺服器 106、502:處理器 108:第一儲存裝置 110:第二儲存裝置 112:第三儲存裝置 114:韌體指令 116:作業系統 118:復原代理器 120:第二復原影像 122:第一復原影像 124:第一資料塊段 126:第二資料塊段 202:塊段大小請求 204:塊段大小 206:確認 208:錯誤訊息 210:終止訊息 300、400:方法 302〜314、402〜420:方塊 504、704:電腦可讀儲存媒體 506:塊段大小確定指令 508:塊段大小發送指令 510:資料塊段接收指令 512:資料塊段儲存指令 514:復原影像建構指令 602:資料塊段驗證指令 604:確認發送指令 606:錯誤訊息發送指令 608:終止訊息發送指令 610:資料塊段丟棄指令 704:塊段大小請求指令 706:資料塊段下載指令 708:資料塊段發送指令 710:資料塊段下載終止指令
本申請的一些實例係針對以下附圖進行描述:
圖1根據一實例圖示出一系統用以經由資料塊段從一伺服器向一運算裝置發送一復原影像;
圖2根據一實例圖示出在一復原影像下載操作期間在圖1該系統的一復原代理器與圖1該系統的韌體指令之間的訊息及資料交換;
圖3根據一實例圖示出在一運算裝置處之一種操作的方法用以經由資料塊段下載一復原影像;
圖4根據一實例圖示出在一運算裝置處之一種操作的方法用以經由資料塊段下載一復原影像;
圖5根據一實例圖示出圖示出一運算裝置用以經由資料塊段下載一復原影像;
圖6根據另一實例圖示出一運算裝置用以經由資料塊段下載一復原影像;以及
圖7根據另一實例圖示出一運算裝置用以經由資料塊段下載一復原影像。
100:系統
102:運算裝置
104:伺服器
106:處理器
108:第一儲存裝置
110:第二儲存裝置
112:第三儲存裝置
114:韌體指令
116:作業系統
118:復原代理器
120:第二復原影像
122:第一復原影像
124:第一資料塊段
126:第二資料塊段

Claims (15)

  1. 一種包含有指令之非暫時性電腦可讀儲存媒體,當該等指令被執行時,致使一運算裝置的一處理器進行下列步驟: 回應於接收到來自一復原代理器的一塊段大小請求,經由該運算裝置的韌體指令確定一塊段大小,該復原代理器可在該運算裝置之一作業系統處執行; 把該塊段大小從該等韌體指令發送給該復原代理器; 從該復原代理器循序地接收一復原影像的資料塊段; 把該等資料塊段儲存在該運算裝置的一儲存裝置中;以及 使用該等資料塊段建構該復原影像。
  2. 如請求項1之非暫時性電腦可讀儲存媒體,其中當該等指令被執行時,更致使該處理器進行下列步驟: 回應於接收到來自該復原代理器的一第一資料塊段,驗證該第一資料塊段; 回應於該第一資料塊段係有效的一判定,發送一確認給該復原代理器;以及 回應於該第一資料塊段係無效的一判定,發送一錯誤訊息給該復原代理器。
  3. 如請求項1之非暫時性電腦可讀儲存媒體,其中當該等指令被執行時,更致使該處理器進行下列步驟: 回應於該復原影像之所有的資料塊段都已經被儲存在該儲存裝置中的一判定,發送一終止訊息給該復原代理器。
  4. 如請求項1之非暫時性電腦可讀儲存媒體,其中當該等指令被執行時,更致使該處理器進行下列步驟: 在一復原操作期間,驗證該等資料塊段;以及 回應於所有的資料塊段都係有效的一判定,使用該等資料塊段建構該復原影像。
  5. 如請求項4之非暫時性電腦可讀儲存媒體,其中當該等指令被執行時,更致使該處理器進行下列步驟: 在建構該復原影像之後,丟棄所有的資料塊段;以及 把該復原影像儲存在該儲存裝置中。
  6. 如請求項1之非暫時性電腦可讀儲存媒體,其中當該等指令被執行時,更致使該處理器進行下列步驟: 基於一網路連接的一品質,經由該等韌體指令確定該塊段大小。
  7. 如請求項1之非暫時性電腦可讀儲存媒體,其中當該等指令被執行時,更致使該處理器進行下列步驟: 基於該處理器的一利用率百分比,經由該等韌體指令確定該塊段大小。
  8. 一種包含有指令之非暫時性電腦可讀儲存媒體,當該等指令被執行時,致使一運算裝置的一處理器進行下列步驟: 經由一可在該運算裝置之一作業系統處執行的復原代理器從該運算裝置的韌體指令請求一塊段大小; 回應於接收到該塊段大小,經由該復原代理器從一伺服器下載一復原影像的一第一資料塊段,其中該第一資料塊段的一大小對應於該塊段大小; 從該伺服器接收該第一資料塊段; 把該第一資料塊段從該復原代理器發送到該等韌體指令;以及 回應於接收到來自該等韌體指令之與該第一資料塊段相關聯的一確認,經由該復原代理器從該伺服器下載該復原影像的一第二資料塊段。
  9. 如請求項8之非暫時性電腦可讀儲存媒體,其中當該等指令被執行時,更致使該處理器進行下列步驟: 回應於接收到與該第一資料塊段相關聯的一錯誤訊息,再次地從該伺服器下載該第一資料塊段。
  10. 如請求項8之非暫時性電腦可讀儲存媒體,其中當該等指令被執行時,更致使該處理器進行下列步驟: 回應於接收到來自該等韌體指令的一終止訊息,終止從該伺服器下載該復原影像的資料塊段。
  11. 如請求項8之非暫時性電腦可讀儲存媒體,其中當該等指令被執行時,更致使該處理器進行下列步驟: 把在該運算裝置之一儲存裝置中的一第一復原影像與在該伺服器中的一第二復原影像進行比較;以及 回應於該第一復原影像比該第二復原影像要舊的一判定,從該等韌體指令請求該塊段大小。
  12. 一種運算裝置,其包含有: 一第一儲存裝置; 儲存在該第一儲存裝置中的韌體指令; 一第二儲存裝置; 一復原代理器及一作業系統(OS),其中該復原代理器及該OS被儲存在該第二儲存裝置中; 一第三儲存裝置;以及 一處理器用以: 經由該等韌體指令確定一復原影像的一塊段大小; 經由該復原代理器從一伺服器下載該復原影像的一第一資料塊段,其中該第一資料塊段的一大小對應於該塊段大小; 回應於該第一資料塊段係有效的一判定,經由該復原代理器從該伺服器下載該復原影像的一第二資料塊段,其中該第二資料塊段的一大小對應於該塊段大小; 經由該等韌體指令把該第一資料塊段及該第二資料塊段儲存在該第三儲存裝置中;以及 使用該第一資料塊段及該第二資料塊段經由該等韌體指令建構該復原影像。
  13. 如請求項12之運算裝置,其中該第一儲存裝置、該第二儲存裝置、以及該第三儲存裝置係非依電性記憶體。
  14. 如請求項12之運算裝置,其中該處理器將把該復原影像儲存在該第三儲存裝置中。
  15. 如請求項12之運算裝置,其中該處理器將基於該處理器的一利用率百分比、一網路連接的一品質、該復原影像的一大小、或它們的一種組合來確定該塊段大小。
TW108129143A 2018-11-05 2019-08-15 經由資料塊段之復原影像下載技術 TWI716969B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
WOPCT/US18/59161 2018-11-05
PCT/US2018/059161 WO2020096561A1 (en) 2018-11-05 2018-11-05 Recovery image downloads via data chunks

Publications (2)

Publication Number Publication Date
TW202036310A TW202036310A (zh) 2020-10-01
TWI716969B true TWI716969B (zh) 2021-01-21

Family

ID=70612026

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108129143A TWI716969B (zh) 2018-11-05 2019-08-15 經由資料塊段之復原影像下載技術

Country Status (5)

Country Link
US (1) US11314603B2 (zh)
EP (1) EP3788473A4 (zh)
CN (1) CN112470121A (zh)
TW (1) TWI716969B (zh)
WO (1) WO2020096561A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114579056B (zh) * 2022-03-11 2023-08-08 联想开天科技有限公司 一种系统的分区方法、装置及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7565517B1 (en) * 2002-04-03 2009-07-21 Symantec Corporation Retargeting a captured image to new hardware while in a pre-boot environment
US20130167140A1 (en) * 2011-12-21 2013-06-27 Advanced Micro Devices, Inc. Method and apparatus for distributed operating system image deployment
US8924952B1 (en) * 2012-06-27 2014-12-30 Amazon Technologies, Inc. Updating software utilizing multiple partitions
US9063822B2 (en) * 2011-09-02 2015-06-23 Microsoft Technology Licensing, Llc Efficient application-aware disaster recovery

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7216251B2 (en) 2000-02-19 2007-05-08 Powerquest Corporation Computer imaging recovery without a working partition or a secondary medium
US6615365B1 (en) 2000-03-11 2003-09-02 Powerquest Corporation Storing a computer disk image within an imaged partition
US8117409B2 (en) 2006-11-22 2012-02-14 Hitachi, Ltd. Method and apparatus for backup and restore in a dynamic chunk allocation storage system
US9170892B2 (en) * 2010-04-19 2015-10-27 Microsoft Technology Licensing, Llc Server failure recovery
US8219769B1 (en) * 2010-05-04 2012-07-10 Symantec Corporation Discovering cluster resources to efficiently perform cluster backups and restores
US8490088B2 (en) * 2010-09-10 2013-07-16 International Business Machines Corporation On demand virtual machine image streaming
US8762769B2 (en) 2011-08-25 2014-06-24 Hewlett-Packard Development Company, L.P. Downloading a disk image from a server with a reduced corruption window
US9183393B2 (en) 2012-01-12 2015-11-10 Facebook, Inc. Multiple system images for over-the-air updates
CN103218273A (zh) 2012-01-20 2013-07-24 深圳市腾讯计算机系统有限公司 硬盘数据恢复方法、服务器及分布式存储系统
US9575978B2 (en) * 2012-06-26 2017-02-21 International Business Machines Corporation Restoring objects in a client-server environment
US9268651B1 (en) * 2012-10-31 2016-02-23 Amazon Technologies, Inc. Efficient recovery of storage gateway cached volumes
US9753955B2 (en) * 2014-09-16 2017-09-05 Commvault Systems, Inc. Fast deduplication data verification
US10459802B2 (en) * 2015-01-30 2019-10-29 Hewlett-Packard Development Company, L.P. Backup image restore
KR102549605B1 (ko) 2016-03-04 2023-06-30 삼성전자주식회사 Raid 스토리지 장치의 리커버리 방법
US10433129B2 (en) 2016-11-01 2019-10-01 At&T Intellectual Property I, L.P. Enhanced data download mechanism for power constrained internet of things devices
US10331528B2 (en) * 2017-03-02 2019-06-25 Hewlett Packard Enterprise Development Lp Recovery services for computing systems
US10776218B2 (en) * 2018-05-31 2020-09-15 EMC IP Holding Company LLC Availability-driven data recovery in cloud storage systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7565517B1 (en) * 2002-04-03 2009-07-21 Symantec Corporation Retargeting a captured image to new hardware while in a pre-boot environment
US9063822B2 (en) * 2011-09-02 2015-06-23 Microsoft Technology Licensing, Llc Efficient application-aware disaster recovery
US20130167140A1 (en) * 2011-12-21 2013-06-27 Advanced Micro Devices, Inc. Method and apparatus for distributed operating system image deployment
US8924952B1 (en) * 2012-06-27 2014-12-30 Amazon Technologies, Inc. Updating software utilizing multiple partitions

Also Published As

Publication number Publication date
US11314603B2 (en) 2022-04-26
WO2020096561A1 (en) 2020-05-14
CN112470121A (zh) 2021-03-09
EP3788473A4 (en) 2021-12-29
US20210357295A1 (en) 2021-11-18
EP3788473A1 (en) 2021-03-10
TW202036310A (zh) 2020-10-01

Similar Documents

Publication Publication Date Title
US10656936B2 (en) Systems and methods for software integrity validation using blockchain
US9354987B2 (en) Systems and methods for out-of-band backup and restore of hardware profile information
US10019253B2 (en) Systems and methods of updating hot-pluggable devices
US10353779B2 (en) Systems and methods for detection of firmware image corruption and initiation of recovery
TWI335536B (en) Information handling system (ihs) method and for updating a non-volatile memory (nvm) included in an information handling system
US8239662B1 (en) Network based operating system across devices
US20160150012A1 (en) Content-based replication of data between storage units
US20200065082A1 (en) Memory-efficient upgrade staging
WO2013103023A1 (ja) 情報処理装置、情報処理方法、およびコンピュータプログラム
EP2375323A1 (en) Firmware image update and management
US20110320794A1 (en) Flash System And Method For Updating The Flash System
US20130138934A1 (en) Loading configuration information
US9930112B2 (en) Maintaining system firmware images remotely using a distribute file system protocol
TW202030602A (zh) 基本輸入/輸出系統的恢復及更新的方法及系統
TWI764454B (zh) 韌體損壞恢復技術
CN101807152A (zh) 自我验证选择只读存储器的基本输出入系统及其验证方法
TWI778811B (zh) 升級方法,電腦系統和遠端升級設備
WO2015127730A1 (zh) 版本文件的运行方法及装置
US10664598B1 (en) Firmware security patch deployment
US8316363B2 (en) Concurrent embedded application update
TWI716969B (zh) 經由資料塊段之復原影像下載技術
US20150269029A1 (en) Immediate Recovery of an Application from File Based Backups
CN109375953B (zh) 一种操作系统启动方法及装置
TWI514279B (zh) 伺服器系統與韌體更新方法
EP2756395A1 (en) Method, system and client terminal for restoring operating system

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees