TW201738759A - 快速系統狀態仿製 - Google Patents

快速系統狀態仿製 Download PDF

Info

Publication number
TW201738759A
TW201738759A TW106111156A TW106111156A TW201738759A TW 201738759 A TW201738759 A TW 201738759A TW 106111156 A TW106111156 A TW 106111156A TW 106111156 A TW106111156 A TW 106111156A TW 201738759 A TW201738759 A TW 201738759A
Authority
TW
Taiwan
Prior art keywords
data
memory
computing system
source computing
uncoded
Prior art date
Application number
TW106111156A
Other languages
English (en)
Inventor
布萊恩 M 伊格諾麥爾羅
修弘 梁
Original Assignee
符號Io公司
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
Priority claimed from US15/089,837 external-priority patent/US9817728B2/en
Application filed by 符號Io公司 filed Critical 符號Io公司
Publication of TW201738759A publication Critical patent/TW201738759A/zh

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving
    • 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
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Retry When Errors Occur (AREA)
  • Power Sources (AREA)
  • Transmission And Conversion Of Sensor Element Output (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Storage Device Security (AREA)

Abstract

一種創建一源計算系統之一仿製的系統及方法,該系統包括以下步驟:選擇耦接至該源計算系統之一記憶體空間;自該所選記憶體空間擷取未編碼資料;藉由使用在一備份伺服器上執行的一基於位元標誌的編碼過程來編碼該未編碼資料;將編碼資料儲存在耦接至該備份伺服器之一受保護記憶體中,其中該受保護記憶體受保護免於電力中斷;自該受保護記憶體擷取該編碼資料;以及將該編碼資料解碼至一目標計算系統上,其中該目標計算系統與該源計算系統分離。

Description

快速系統狀態仿製 相關申請案之交互參照
本申請案主張題為「FAST SYSTEM STATE CLONING」之2016年4月4日申請的美國專利申請案第15/089,837號之權益,該美國專利申請案之全部內容以全文引用的方式併入本文中。
背景
技術領域
本發明之實施例大體而言係關於系統仿製,且特定而言係關於用以仿製系統以用於備份或複製之快速設備及方法。
相關技術描述
在整個典型大型企業中使用具有不同範疇或部署之電腦系統。企業級電腦系統係可在整個企業中使用或用來支援企業關鍵功能之系統。例如,對於航空公司而言,預訂及訂票系統或航班排程系統可為企業級系統。在更低的部署等級,其他系統(例如,部門級或功能級系統)可支援部門級組織或支援有限的功能。例如,用於航空公司之部門級系統可支援會計、銷售及行銷、工程、維護支援等中之一者。在甚至更低的等級,電腦系統(真實系統或諸如基於雲的系統之虛擬系統)可支援個別雇員。
電腦系統之特徵可為其硬體及軟體資產、狀況、系統狀態等。硬體特性可包括所用伺服器、可利用之記憶體及記憶體儲存空間、可利用之通訊鏈路、路由器連接性等之清單。軟體資產之特性可包括可在每一伺服器上可利用之作業系統及應用程式之清單。系統狀態之特性可包括目前在每一伺服器上執行之軟體、每一軟體之狀態(例如,如有限狀態機模型所指示)、可由每一軟體存取且/或由每一軟體使用之依電性及非依電性記 憶體中的資料等之清單。
有時,例如出於備份或容量目的,有必要或需要仿製電腦系統。例如,藉由仿製電腦系統之全部或部分,例如至少仿製系統狀態而不必仿製硬體特性,可製作電腦系統之備份。另一方面,在有必要快速提升處理容量或能力時可藉由複製進行仿製。例如,線上零售商可能想要在感恩節至聖誕節的時段期間暫時複製其致力於銷售及行銷之電腦系統,且稍後釋放彼等資產。然而,線上零售商可能想要在其會計年度結尾時暫時複製其致力於會計之電腦系統。
有時,有必要或需要自備份復原電腦系統。例如,若線上商家之銷售系統或網站崩潰,則商家可能無法進行任何銷售,直至銷售系統或網站復原為止。因此,將需要儘快自備份復原此類系統。
用於仿製系統之現有方法遭受多種缺點。例如,特別對於較大系統而言,熱待命(例如,一直在作用中且鏡像處理主系統之狀態的系統)在所需硬體、所需軟體執照及維護成本(例如,用於公用設施及員工)方面可能很昂貴。若硬體及軟體一直保持為熱的,則多個虛擬機及超管理器亦可能在硬體及軟體方面很昂貴。冷待命備份系統(例如,僅在需要時,諸如在主系統故障時,在線上引入的備份)可花費不期望的長時間來接替故障系統,且可能不反映主系統在故障之前的最近狀態。
因此,需要提供一種快速而又低成本地仿製電腦系統之系統及方法。
發明概要
在一個實施例中,使用本文所述之快速方法及架構,藉由拷貝應用程式伺服器系統之目前記憶體內容之全部或部分來製作系統仿製。然後可將系統仿製用作備份,以增大企業容量,變更計算資產之目的,等等。
根據本揭示內容之實施例的仿製源計算系統之方法可包括以下步驟:選擇耦接至源計算系統之記憶體空間;自所選記憶體空間擷取未編碼資料;藉由使用在備份伺服器上執行的基於位元標誌的編碼過程來 編碼未編碼資料;將編碼資料儲存在耦接至備份伺服器之受保護記憶體中,其中受保護記憶體受保護免於電力中斷;自受保護記憶體擷取編碼資料;以及將編碼資料解碼至目標計算系統上,其中目標計算系統與源計算系統分離。
根據本揭示內容之實施例的仿製源計算系統之系統可包括:處理器,其耦接至記憶體,該記憶體為源計算系統提供記憶體空間;通訊介面,其用以支援自記憶體空間擷取未編碼資料;編碼器,其用以藉由使用在備份伺服器上執行的基於位元標誌的編碼過程來編碼未編碼資料;儲存模組,其用以將編碼資料儲存在耦接至備份伺服器之受保護記憶體中,其中受保護記憶體受保護免於電力中斷;通訊介面,其用以支援自受保護記憶體擷取編碼資料;以及解碼器,其用以將編碼資料解碼至目標計算系統上,其中目標計算系統與源計算系統分離。
前文為本揭示內容之實施例的簡化概述以提供對本揭示內容之一些態樣的理解。此概述既不是本揭示內容及其各種實施例之廣泛的綜述,亦不是詳盡的綜述。既不意欲識別本揭示內容之重要或關鍵的元件,亦不意欲描繪本揭示內容之範疇,而是以簡化形式呈現本揭示內容之選定概念來作為下文呈現之更詳細描述之引言。如將瞭解的,本揭示內容之其他實施例可能單獨或組合地利用上文闡述的或下文詳細描述的特徵中之一或多者。
100、200‧‧‧電腦系統
102、202、352‧‧‧處理器
103‧‧‧快取記憶體
104‧‧‧作業系統
105、107、109、112‧‧‧通訊匯流排
106‧‧‧記憶體控制器
108a、108b‧‧‧DIMM狹槽
110‧‧‧視訊圖形卡
114‧‧‧控制器集線器
116‧‧‧IC
122、222‧‧‧CMOS記憶體
124、224‧‧‧基本輸入/輸出系統(BIOS)
131‧‧‧USB埠
132、354‧‧‧儲存媒體
133‧‧‧乙太網路收發器
134‧‧‧音訊埠
135‧‧‧其他PCI裝置
211‧‧‧資料適應模組
218‧‧‧記憶體介面
219‧‧‧能源
220‧‧‧RAM儲存單元
300、350、370‧‧‧系統
301-A‧‧‧企業A
301-B‧‧‧企業B
301-C‧‧‧企業C
303-A-1至303-A-n、303-B-1至303-B-n、303-C-1至303-C-n‧‧‧伺服器
305、375‧‧‧仿製伺服器
306‧‧‧閃爍存放庫
307、353‧‧‧RAM記憶體
308‧‧‧通訊網路
309‧‧‧NV-DIMM
351‧‧‧應用程式伺服器
355‧‧‧仿製伺服器、通訊介面
371‧‧‧實體伺服器
378、378a...378n‧‧‧虛擬伺服器
401a、401b‧‧‧部分
403‧‧‧位址空間
500、550、600、650‧‧‧過程
501-507、551-559、601-605、651-657‧‧‧步驟
在考慮本發明之實施例之以下詳細描述時,尤其在結合隨附圖式時,本發明之上述及其他特徵以及優點將變得明顯,其中各種圖中類似的參考數字用來指定類似組件,且其中:圖1說明如此項技術中已知的基於個人電腦(PC)的伺服器之功能方塊圖;圖2說明根據本揭示內容之實施例的基於PC的仿製伺服器之功能方塊圖;圖3A說明根據本揭示內容之實施例的系統;圖3B說明根據本揭示內容之實施例的另一系統; 圖3C說明根據本揭示內容之實施例的具有虛擬伺服器之系統;圖4說明根據本揭示內容之實施例的記憶體模型;圖5A說明根據本揭示內容之實施例的用來編碼資料之方法;圖5B說明根據本揭示內容之實施例的用來解碼資料之方法;圖6A說明根據本揭示內容之實施例的用來完成源系統之閃爍備份的過程;且圖6B說明根據本揭示內容之實施例的用來自閃爍備份復原系統之過程。
本文所用的標題僅僅出於組織目的,而不意謂用來限制描述或申請專利範圍之範疇。貫穿本申請案所使用之詞「可」係在允許的意義上使用(亦即,意謂有可能),而非在強制的意義上使用(亦即,意謂必須)。類似地,詞「包括」意謂包括但不限於。為便於理解,在可能的情況下已使用類似的參考數字來指定圖中共有的類似元件。除非使用情境另外指出,否則可使用短劃線或點線說明圖之任選部分。
詳細說明
下文將結合例示性使用情況、方法實施例及系統實施例來說明本揭示內容。儘管很適合與例如使用伺服器、網路連接裝備及/或專門儀器之系統一起使用,但本揭示內容不限於與任何特定類型的電子系統或系統元件組態一起使用。熟習此項技術者將意識到,所揭示技術可在需要複製、仿製、備份或復原電腦系統之任何電子系統中使用。
將結合相關硬體來描述根據本揭示內容之實施例。然而,為了避免不必要地混淆本揭示內容,以下描述省略了熟知的結構、組件及裝置,該等結構、組件及裝置可用方塊圖形式展示、係熟知的或以其他方式概述。亦應注意,本文中呈現之實例不應被解釋為限制本發明之實施例之範疇,因為其他同樣有效的實例係可能且很可能的。
如本文所使用,術語「模組」通常指步驟、過程或組件之邏輯序列或關聯。例如,軟體模組可包含電腦程式內相關聯的常式或次常式之集合。或者,模組可包含大體上自含式的硬體裝置。模組亦可包含與任何軟體或硬體實行方案無關之過程的邏輯集合。
完成功能之模組亦可稱為經組配來完成功能,例如,接收資料之資料模組亦可被描述為經組配來接收資料。完成功能之組態可包括例如:提供及執行完成功能之電腦代碼;提供可提供的組態參數,該等參數控制、限制、啟用或停用模組之能力(例如,設定旗標、設定權限、設定在決策點處使用的臨限值位準等);提供實體連接,諸如跨接線,用來選擇選項或用來啟用/停用選項;附接實體通訊鏈路;啟用無線通訊鏈路;提供電氣電路系統,該電氣電路系統經設計來在不使用處理器的情況下、諸如藉由使用離散組件及/或非CPU積體電路來完成功能;對完成功能之電路供給能量(例如,向收發器電路提供電力以便接收資料);等等。
本專利申請案之上代申請案(美國專利申請案第14/804,175號,即「‘175申請案」)揭示用於大容量及快速傳送速率數位儲存之系統。在‘175申請案及本文中使用之位元標誌技術描述於CIP上代申請案美國專利申請案第13/908,239號(「‘239申請案)中。當電腦系統的特徵可至少部分地為其軟體資產、狀況及系統狀態之數位狀態時,然後,根據本揭示內容之實施例可使用上代揭示內容之系統,以便極快速地仿製數位狀態。系統復原可相當快速地完成。
在‘175申請案中揭示並且在目前的實施例中使用之方法、組件及系統包括超管理器、伺服器處理器、超管理器中之客製化作業系統及/或客體作業系統(OS)、與客體OS相關聯的資料或驅動器。實施例能夠經由網路連接組件(例如乙太網路配接器)整合至大體上任何網路中。實施例可進一步包括習知的RAM依電性記憶體及非依電性DIMM記憶體(NV-DIMM),該非依電性DIMM記憶體受保護免於資料丟失,如‘175申請案中所揭示。系統可進一步包括PCIe、周邊裝置及結構。
被成像及表示的資料可包括大體上任何儲存在依電性RAM中的資料,例如資料庫、應用程式、日誌、專屬資料等。應用程式可包括: 在作業系統等級上執行之各種服務,諸如防火牆服務、文件服務等;在使用者等級上執行之各種軟體,諸如試算表、文字處理器、圖形編輯、CAD/CAM軟體、會計軟體等;以及各種伺服器,諸如網站伺服器、郵件伺服器、資料庫伺服器等。
圖1說明如此項技術中已知的習知電腦系統100之功能方塊圖。系統100可例如在基於Intel®相容架構的電腦系統中使用。隨著製造技術進步,取決於諸如晶片組之產生、目標客戶之價格與效能之比率、目標計算平臺(例如,行動裝置、伺服器等)等因素,可在不同積體電路(IC)組態中製造各種功能組件。某些功能可組合成各種組態,諸如組合在單個IC(諸如IC 116)中。
系統100包括處理器102,處理器102可為通用處理器,諸如Xeon®、Intel Core i7®、i5®、i3®,或來自Advanced Micro Devices®(AMD)之處理器,諸如Athlon64®等。在其他實施例中,處理器102可為圖形處理單元(GPU)。在圖1之功能方塊圖中,如本文所用之處理器102可能指代處理器之功能及/或指代處理器之一或多個硬體核心。處理器102可包括以多GHz速度操作之多個處理核心。處理器102可包括快取記憶體103(例如,L1或L2快取)。處理器102亦可經程式化或經組配成包括作業系統104。作業系統104之實例包括各種版本的Windows®、Mac OS®、Linux®,及/或根據本揭示內容之實施例的作業系統或作業系統延伸等。註冊商標Windows係Microsoft公司之商標。註冊商標Mac OS係Apple公司之商標。註冊商標Linux係根據來自LMI(Linus Torvalds之專屬被授權人,Linus Torvalds係該標誌在世界範圍內的擁有者)之轉授權來使用。作業系統104完成習知功能,該等習知功能包括運行應用程式(未在圖1中展示)。在功能上,作業系統104被說明為處理器102之部分,但作業系統104之部分可實體地駐留於未在圖1中說明之非依電性記憶體(例如,硬碟、固態磁碟機(SSD)、快閃磁碟機、NAND記憶體、非依電性RAM等)中,且作業系統104之至少部分可根據需要讀取至RAM記憶體中以供處理器102執行。
處理器102可使用若干內部及外部匯流排來與多種功能組件介接。系統100包括將處理器102鏈接至記憶體控制器106的通訊匯流 排105。記憶體控制器106亦可稱為北橋。通訊匯流排105可實行為前側匯流排(FSB)、非均勻記憶體存取(NUMA)匯流排、EV6匯流排、周邊組件互連(PCI)匯流排等中之一者。
系統100進一步包括耦接至處理器102的非依電性記憶體122(例如CMOS記憶體)。CMOS記憶體122可包括基本輸入/輸出系統(BIOS)124,BIOS 124幫助管理電腦組件之間的低等級通訊,且可包括用以完成電力開啟自我測試的電腦代碼之儲存。習知地,電力開啟自我測試可包括所安裝RAM之資料完整性之測試。
記憶體控制器集線器106通常經由通訊匯流排107處置處理器102與各種高速功能組件之間的通訊,且經由通訊匯流排109處置處理器102與視訊圖形卡110之間的通訊,該等各種高速功能組件諸如安裝在雙行記憶體模組(DIMM)狹槽108a、108b中的外部RAM記憶體。通訊匯流排107及109可為高速介面,諸如高速周邊組件互連(PCIe)或加速圖形埠(AGP)。記憶體控制器集線器106亦可經由通訊匯流排112處置處理器102與控制器集線器114之間的通訊。控制器集線器114亦可稱為其他名稱,諸如南橋、I/O控制器集線器(ICH)、融合控制器集線器(FCH)、平臺控制器集線器(PCH)等。控制器集線器114又管理與額外的及/或較慢的I/O裝置或介面之其他通訊,該等額外的及/或較慢的I/O裝置或介面諸如USB埠131、具有標準介面(例如,ATA/SATA、mSATA、SAS等)之儲存媒體132、乙太網路收發器133、音訊埠134、其他PCI裝置135等。
在系統100之一些組態(未說明)中,處理器102經設計來略過記憶體控制器106,且經由直接媒體介面(DMI)與控制器集線器114直接通訊。此類組態亦可將處理器102及記憶體控制器106之功能整合至單個IC 116中。在此類組態中,控制器集線器114通常係平臺控制器集線器(PCH)。
儘管構成安裝在DIMM狹槽108a、108b中的RAM記憶體之記憶體晶片可具有極高的最大存取速度(例如,約57十億位元組/秒),但通訊匯流排109通常無法支援此類快速度。例如,16通道狹槽中之PCIe 4.0之速度局限於31.508十億位元組/秒。AGP仍比PCIe慢。因此,通訊匯流 排107係阻止更快記憶體存取之瓶頸。
記憶體存取之瓶頸係習知技術之一個缺點。習知電腦之上述其他缺點包括RAM記憶體之大小(通常大約幾十億位元組)與習知硬碟之儲存大小(通常大約幾萬億位元組)之間的儲存大小失配,以及RAM記憶體與習知硬碟之儲存大小相比之相對小的儲存大小。習知技術之另一缺點係RAM記憶體之依電性性質。
根據本揭示內容之實施例突破RAM當今所具有的密度問題。藉由提供用於儲存單元之新穎硬體介面及用於硬體介面之新穎驅動器介面,根據本揭示內容之實施例解決習知技術之此等缺點。
除了CPU外,RAM係x86及x64計算系統中最快的元件,所以實施例允許當今的高速RAM效能與達成高儲存密度之新方法相匹配。在應用此效果時,其完全改變了成本範例且允許低成本記憶體模組來取代對高密度、高成本記憶體模組之需要。
剩下的問題係標準記憶體模組之依電性。因為所有RAM為依電性的,所以其不適於成為長期儲存媒體。實施例類似於但不同於非依電性RAM(NVRAM)技術,其避開了在標準DIMM裝置中發現的依電性問題。
根據本揭示內容之實施例使用可藉由Intel®或AMD® CPU處理器供電之基本廉價x64主機板。主機板具有經修改的CME及BIOS,其給予該主機板為了感知非依電性記憶體所需要的智慧。此外,主機板將DC供應電壓(例如,1.2v、1.35v、1.5v等)提供至每一記憶體模組,該DC供應電壓可用來對環境安全的低負載、慢排空的電容器充電。此設計允許關機狀態(例如,斷電或安全關機)以在記憶體模組內維持資料持續性,由此使記憶體模組成為可行的長期儲存裝置。
圖2說明根據本揭示內容之實施例的電腦系統200之功能方塊圖。電腦系統200在本文中亦可稱為閃爍伺服器。已在圖1中描述之功能組件在圖2中被指派了與圖1所示相同的參考數字。系統200包括記憶體介面218,可藉由使用諸如Molex®連接器之連接器208將記憶體介面218實體耦接至DIMM狹槽(例如DIMM狹槽108b)。藉由在通訊匯流排107上 使用習知協定,記憶體介面218經由DIMM狹槽108b與處理器202通訊。記憶體介面218實體且可通訊地耦接至RAM儲存單元220。記憶體介面218之功能包括:將RAM儲存單元220可通訊地耦接至通訊匯流排107;監測某些事件(例如與RAM儲存單元220相關的健康狀態)、其他硬體事件;基於偵測到之訊號或硬體事件採取某些行動,等等。記憶體介面218之功能亦可包括簡單處理及內務處理功能,諸如解決記憶體位址,報告記憶體大小,I/O控制,追蹤及報告總電力循環、一小時內運行時間,報告DIMM數目,報告狀況(諸如超電容器(cap)當前電壓、匯流排就緒、上一次復原成功或失敗、裝置就緒、NAND區域之快閃狀況、所連接cap、cap充電狀況、有效影像呈現、DIMM初始化完成、讀取暫存器),等等。NAND可稱為一種類型之非依電性基於IC的儲存技術,該技術不需要電力來保留資料。
系統200進一步包括耦接至處理器202的非依電性記憶體222(例如CMOS記憶體)。CMOS記憶體222可包括基本輸入/輸出系統(BIOS)224,(BIOS)224幫助管理電腦組件之間的低等級通訊,且可包括用以完成電力開啟自我測試的電腦代碼之儲存。習知地,電力開啟自我測試可包括所安裝RAM之資料完整性之測試。根據本揭示內容之實施例可包括經修改的電力開啟自我測試(與BIOS 124之電力開啟自我測試相比較),以使得例如在測試將與儲存在預定記憶體模組中的資料之性質不相容的情況下,電力開啟自我測試可跳過針對至少一些預定記憶體模組之測試。
根據本揭示內容之實施例亦藉由將能源219與RAM儲存單元220耦接來解決已知技術之RAM依電性缺點。能源219可與記憶體介面218整合。能源219為備用電源,以使得在對RAM儲存單元220之外部電力供應斷開(例如,由於影響整個計算系統200之AC電力故障、移除向行動系統200供電之電池、主機板故障等)的情況下,能源219可提供足夠的電力以便維持儲存在RAM儲存單元220中的資料之完整性。
根據本揭示內容之實施例包括組織為傳統依電性記憶體與非依電性RAM模組記憶體(NV-DIMM)之組合的隨機存取記憶體(RAM)。NV-DIMM記憶體在上代美國專利申請案第14/804,175號(「‘175申請案」)中被揭示為例如RAM儲存單元220。安裝在系統中之每一類型的記憶體在 整體中所佔之比例可在不同系統間變化。例如,總記憶體大小可在安裝時選擇成在8GB至160GB或更大之範圍內,組織成八個庫,其中該等庫中之兩者經組配為習知RAM記憶體,且其中六個庫經組配為NV-DIMM。
根據本揭示內容之實施例可提供在兩種模式中操作的系統。在第一模式中,可藉由使用‘175申請案所揭示之方法來選擇源系統(目前的系統或外部系統)之習知依電性記憶體的整個內容或位址範圍加以成像且表示,且將該表示儲存在NV-DIMM記憶體中。此影像或表示亦可稱為參考影像。實施例可藉由使用符合IEEE 802.3ba-2010標準之高速通訊鏈路(諸如100十億位元乙太網路)來可通訊地耦接至外部系統。
在根據本揭示內容之實施例的第二模式中,可選擇源系統之整個習知依電性記憶體位址範圍之子集加以成像且表示,例如,習知依電性記憶體之僅一部分被成像且表示,該部分由在系統上運行之處理主動利用。在此實施例之另一變化中,整個習知依電性記憶體位址範圍之固定範圍子集可被成像且表示。固定範圍子集不必為連續的。在此實施例之另一變化中,被成像且表示的位址範圍子集可表示虛擬伺服器。例如,若單個實體伺服器(例如,企業所用的伺服器)代管一個以上虛擬伺服器(例如,每一個虛擬伺服器用於企業中之若干部門),則實施例可成像且表示虛擬伺服器中之一些而非全部。在例如由不同伺服器完成之功能具有不同備份需求(例如,用於財務部門之虛擬伺服器與用於客戶支援部門之虛擬伺服器)的情況下,此種能力可為有用的。
在一些實施例中,NV-DIMM可充當存放庫來儲存複數個參考影像,該等參考影像表示例如隨著時間推移之單個系統或多個外部系統,或其組合。多個參考影像之NV-DIMM存放庫可用來支援災難復原,例如,安全地儲存用於多個企業的參考影像之異地位置。
在資料已被成像、表示且儲存在NV-DIMM記憶體中之後,根據本揭示內容之實施例可提供「基礎結構融合在一個方塊中(infrastructure in a box)」能力。例如,一旦已被成像且表示的所有資料庫、應用程式、日誌、專屬資料等被複製在模仿最初硬體環境之目標硬體環境上,已被成像且表示的系統則可在其已被成像且表示時與最初系統之系統狀態一起複 製。
經複製的複本可藉由快速復原用於備份目的,或能夠即刻提供擴展能力。復原是否被認為是快速的可在不同使用領域間或在不同內容間變化。例如,用於CAD/CAM系統之快速復原可能不被認為是用於支援金融市場交易之計算系統的快速復原。用於按需要提供電影之視訊散佈的計算系統之快速復原可能不被認為是用於提供實時事件(例如超級盃)之視訊散佈的計算系統之快速復原。類似地,被認為是臨時通知之通知可在不同使用領域間或在不同內容間變化,且可為幾秒鐘那麼短或更短以用於支援金融市場交易之計算系統。在一些實施例中,臨時通知係小於約五秒鐘的通知。在一些實施例中,可在偵測到對復原之需要或接收到完成復原之命令的約十分鐘內完成快速復原。在其他實施例中,快速復原可在約三分鐘內完成。在其他實施例中,快速復原可在十秒鐘或更短時間內完成。
傳統備份相對不常發生(例如,每日一次、每週一次等),其中系統狀態必須被凍結或至少系統狀態之變化應在傳統備份過程期間最小化(例如,藉由使用者保存其工作,退出應用程式等,其全部會導致中斷)。相比之下,當經複製的複本可更快地製成時,備份可更快、更及時且更頻繁地製成,從而導致系統狀態之更近的(亦即,較不陳舊的)複本(假使復原為必要的)。頻繁備份開始類似於系統狀態之快照。頻繁備份在本文中可稱為「閃爍」備份。
系統狀態之變化可在閃爍備份期間減少,如以下關於圖3C更詳細描述的。閃爍備份之頻率可為可藉由使用者或系統管理員組配的。
類推至攝影,傳統備份就像正式假日家庭肖像,其需要準備(例如,中斷其他活動以便拍攝肖像,以及演出,亦即,特殊姿勢、照明、道具等)。相比之下,實施例更像是家庭的視訊記錄,其中視訊之每一個別圖框表示單獨的閃爍備份(雖然與視訊記錄相比較係在相對慢的圖框速率下)。閃爍備份快速發生而不必要求不適當的準備,且因此可頻繁地製作而不會中斷閃爍的系統之操作。
閃爍備份可首先藉由識別待備份的記憶體資源來進行。例如,假定應用特定伺服器將被備份。例如,待備份之應用特定伺服器可為 專用於會計功能之虛擬伺服器,該虛擬伺服器與分別專用於其他功能之其他虛擬伺服器一起在實體伺服器上被代管,該等其他功能諸如銷售及行銷、工程部門等。習慣上將要備份之伺服器將保持在其本身上執行的應用程式之清單以及該等應用程式之相應系統資源使用率。實施例可識別應用特定伺服器所使用之所有系統資源,如以下各者所指示:分配至當前在正在備份的應用特定伺服器上運行之所有應用程式或藉由該等所有應用程式使用的RAM記憶體範圍;儲存在非依電性記憶體(例如,諸如硬碟、固態磁碟機(SSD)、快閃磁碟機、NAND記憶體、非依電性RAM等儲存媒體)中之程式代碼的位址範圍;操作系統組態,等等。實施例可將此收集作為高優先權資料收集任務來完成,以便最小化在收集發生時在應用特定伺服器上執行之其他應用程式之狀態或資料變化。資料收集任務不需要報告其自身的記憶體使用率。
接下來,實施例可擷取藉由識別任務所指示之記憶體內容。實施例可隨後根據以下更詳細描述之圖5A之過程500編碼且儲存記憶體內容。
在一些實施例中,可藉由來自在正被複製的系統外部的源之請求而產生經複製的複本(例如,「提取(pull)」基礎)。在其他實施例中,可在正被複製的系統所判定之時間產生經複製的複本(例如,「推送(push)」基礎)。推送基礎類似於經排程的備份。
根據本揭示內容之實施例亦提供即刻變更電腦硬體架構之目的的能力。例如,假定網站代管公司代管若干完全不同的感興趣網站,例如,使用平均200個伺服器之電子商務網站(例如,AmazonTM)、使用平均100個伺服器之線上交易網站(例如,E-TradeTM),等等。進一步假定該等網站代管公司使用由標準組件建構而成之相同或相似的電腦硬體架構。軟體組件可為不同的,例如電子商務網站可基於例如LinuxTM的開放源作業系統,且線上交易網站可基於例如Microsoft WindowsTM的商業作業系統。利用可隨時間變化,以使得當一個系統的利用率高時,其他系統的利用率可能很低,且反之亦然。在此種情形中,實施例可在不同網站間快速變更一些伺服器之目的。例如,若在平日之中間,電子商務網站不忙碌但線上交 易網站很忙碌,則某數目個伺服器(例如40個伺服器)可自電子商務變更目的成線上交易。反之,在平日之傍晚,當電子商務網站很忙碌但線上交易網站不忙碌時,某數目個伺服器(例如50個伺服器)可自線上交易網站變更目的成電子商務網站。變更目的亦可稱為特質調換。
對於自目的「A」變更目的成目的「B」之伺服器而言,變更目的可首先涉及拷貝或仿製當前致力於目的「B」之伺服器之系統狀態。系統狀態可包括當前使用的所有記憶體、作業系統及當前執行的所有軟體等。任選地,可保存當前致力於目的「A」但將要變更目的之伺服器之當前系統狀態以用於稍後復原。接下來,將在先前致力於目的「A」之伺服器上復原自目的「B」仿製的系統狀態,進而將該伺服器大體上立即變更目的成目的「B」。
當變更目的時,目的「A」及目的「B」可為用於同一企業或不同企業之大體上任何基於伺服器的應用程式。例如,對於諸如主要玩具零售商之單個企業而言,目的「A」可為在聖誕節之前最為需要的銷售系統,且目的「B」可為在會計年度結尾時最為需要的會計系統。
類似地,根據本揭示內容之實施例可藉由將伺服器自備用狀況變更目的成作用中狀況以用於特定目的來增大系統容量。備用狀況可為例如空白系統,該空白系統填入有硬體,但未安裝有可用軟體或資料。
根據本揭示內容之實施例可有助於系統影像之組合。例如,基本系統影像可表示作業系統及/或用於作業系統之某種計算基礎結構,例如非客製化伺服器,諸如網站伺服器、郵件伺服器等。基本系統影像可隨後與客製化影像合併(亦即,組合),該客製化影像可表示非客製化伺服器之系統特定客製化,例如,使用者帳戶、歷史、偏好、巨集、專用應用程式等。反之,系統閃爍可能能夠與基本系統影像分開地使客製化閃爍,從而允許與基本系統影像之備份相比較按不同的排程或在潛時更小的情況下備份客製化。
圖3A說明根據本揭示內容之實施例的系統300。系統300可用來完成快速仿製。如所說明之系統300包括企業A 301-A、企業B 301-B及企業C 301-C。每一企業可表示整個公司或組織,例如,遊戲網路、線上 商家、線上經紀人、證券交易所等。系統300可包括比圖3A所描繪之企業網路更少或更多的企業網路。
每一企業301-n可包括一或多個伺服器,例如,用於企業A 301-A之伺服器303-A-1至303-A-n、用於企業B 301-B之伺服器303-B-1至303-B-n及用於企業C 301-C之伺服器303-C-1至303-C-n。企業內之個別伺服器可由企業用於不同功能。例如,若企業A 301-A為線上商家,則伺服器303-A-1可為網站伺服器,伺服器303-A-2可致力於資料庫及庫存管理,伺服器303-A-3可致力於賬務及會計,等等。
每一企業301-n可經由通訊網路308可通訊地耦接至仿製伺服器305。仿製伺服器305可為例如如圖2所說明之電腦系統200。在操作中,仿製伺服器305可在外部伺服器303-m-n上完成本文所述之過程實施例。例如,仿製伺服器305可將伺服器303-B-1複製至伺服器303-B-2上,或仿製伺服器305可製作伺服器303-C-1之閃爍備份,等等。
在一些實施例中,任選的單獨閃爍存放庫306可儲存來自一或多個伺服器303之閃爍備份。在無單獨閃爍存放庫306的情況下,閃爍備份可儲存在仿製伺服器305之NV-DIMM記憶體內。
圖3B說明根據本揭示內容之實施例的系統350。系統350可用來完成應用程式伺服器351之快速仿製而不需要經由網路自外部存取。系統350包括應用程式伺服器351,應用程式伺服器351可為一般功能,例如,網站伺服器或資料庫伺服器或會計伺服器等。應用程式伺服器351可包括處理器352,處理器352耦接至習知依電性RAM記憶體353及儲存媒體354,以便以其一般功能支援應用程式伺服器351之操作。通訊介面355可提供應用程式伺服器351與外部通訊鏈路之間的通訊連接性(例如,連接至WAN或LAN之乙太網路介面)。
然而,應用程式伺服器351可進一步在其內嵌入有習知依電性RAM記憶體307及NV-DIMM 309所支援之仿製伺服器355之功能性。仿製伺服器355可為例如如圖2所說明之電腦系統200。在操作中,仿製伺服器355可在應用程式伺服器351上完成本文所述之過程實施例。系統350與系統300相比較之優點在於,系統350不必需要存取諸如通訊網路308 之通訊網路,因為仿製伺服器355嵌入於應用程式伺服器351內。嵌入可藉由例如應用程式伺服器351之處理器352完成,其中處理器352執行用於應用程式伺服器351及仿製伺服器355兩者之代碼模組。
或者,可將電腦系統200用作起始點,然後藉由作業系統204執行提供應用程式伺服器351之功能性的額外軟體模組,來實行應用程式伺服器351。
圖3C說明根據本揭示內容之實施例的系統370。系統370包括實體伺服器371,實體伺服器371又可包括仿製伺服器375及應用程式伺服器351之組件中之一或多者(如相同參考數字所指示),外加一或多個虛擬伺服器378a...378n(共同地為虛擬伺服器378)。虛擬伺服器378中之個別但非特定的一者可稱為虛擬伺服器378。在處理器352中操作的超管理器或其他虛擬機監視器可管理實體伺服器371及其資源,以便將虛擬伺服器378之外觀提供至遠程使用者,例如,經由通訊介面355耦接的遠程使用者。虛擬伺服器378可提供相應客體作業系統(「GOS」),例如,為了耦接至相應虛擬伺服器378之使用者(例如遠程使用者)的利益,且為了支援在虛擬伺服器378上執行一或多個應用程式。用來支援虛擬伺服器378之記憶體儲存可自RAM 353、儲存媒體354分配,且/或由外部記憶體裝置(未在圖3C中說明)提供。
在一些實施例中,在閃爍備份發生時,虛擬伺服器378、其相應GOS、記憶體資源及在GOS上運行的任何應用程式可暫時進入鎖定或暫停狀態,歷時其完成閃爍備份所花費的持續時間。鎖定或暫停狀態在閃爍備份發生時減少系統狀態或系統組態之變化。在閃爍備份完結時,進入鎖定或暫停狀態之元件可自動返回至其正常狀態。
在一些實施例中,虛擬伺服器378、其相應GOS、記憶體資源及在GOS上運行的任何應用程式可在閃爍備份期間暫時進入靜止狀態。靜止狀態可繼續執行異動,但結果可保持在常駐記憶體中而非提交至儲存媒體。相比之下,休眠模式中之伺服器可將記憶體影像保存至儲存媒體並且關機,而不在處於休眠模式時執行異動。在閃爍備份完結時,進入靜止狀態之元件可自動返回至其正常狀態。
在一些實施例中,閃爍備份可儲存在類似於閃爍存放庫306的外部閃爍存放庫中,該外部閃爍存放庫可經由通訊介面355存取。
圖4說明簡化的平坦實體位址空間模型。實體記憶體之總量可不同於圖4所描繪之量。根據本揭示內容之實施例能夠使用本文所述之過程來創建整個位址空間403之快速仿製。其他實施例能夠使用本文所述之過程來製作簡化的平坦實體位址空間模型之一或多個部分401a、401b的快速仿製。
圖5A說明根據本揭示內容之實施例的編碼過程500。過程500可藉由作業系統204及資料適應模組211完成。
過程500在步驟501處開始,在步驟501處,自意欲儲存原始資料之應用程式接收待儲存之原始資料區塊。原始資料可呈以下形式:檔案、串流傳輸媒體、固定大小或可變大小資料區塊,等等。
接下來,過程500過渡至步驟503,在步驟503處,可將在步驟501中接收的原始資料之部分映射或匹配至原始資料之候選向量。與將原始資料匹配至原始資料之較短候選向量,將原始資料匹配至原始資料之較長候選向量將產生更大的資料儲存效率。候選向量可儲存為習知記憶體中之(標誌,向量)對之表。目標為藉由至少一個向量表示原始資料中之每一位元或位元組。諸如0x00或0xFF之某些原始資料位元組可被視為預設值,且對於等於該預設值之任何原始資料位元組而言,任選地利用向量來表示等於預設值之位元組。
在步驟503中,最小臨限值長度限制可在原始資料之一部分之長度上存在,該部分將被映射至原始資料之候選向量。例如,由僅單個位元組組成之原始資料太短而無法試圖匹配至原始資料之候選向量,因為指向原始資料之向量的指標將比原始資料本身長。對於長度超過最小臨限值之原始資料而言,若原始資料不匹配原始資料之現有候選向量,則原始資料可添加為原始資料之新向量。
接下來,過程500過渡至步驟505,在步驟505處,可將在步驟503中判定之向量映射至來自(標誌,向量)對之表的相應位元標誌。位元標誌為參考相關向量之捷徑。
接下來,過程500過渡至步驟507,在步驟507處,將來自(標誌,向量)對之表的位元標誌儲存在RAM儲存單元220之記憶體中。
圖5B說明根據本揭示內容之實施例的解碼過程550。過程550可藉由作業系統204及資料適應模組211完成。
過程550在步驟551處開始,在步驟551處,自諸如RAM儲存單元220之記憶體讀取待解碼之編碼資料區塊。可藉由虛擬位址調整方法及表來管理位址,如熟習此項技術者已知的。
接下來,過程550過渡至步驟553,在步驟553處,自編碼資料提取位元標誌。
接下來,過程550過渡至步驟555,在步驟555處,在(標誌,向量)對之表中搜索來自步驟553之經提取的位元標誌。
接下來,過程550過渡至步驟557,在步驟557處,自(標誌,向量)對之表中的條目提取原始資料向量,其對應於自步驟553提取的位元標誌。
接下來,過程550過渡至步驟559,在步驟559處,組合來自步驟557之經提取的原始資料向量以形成重建構之解碼資料。若組合的原始資料向量不覆蓋重建構之解碼資料之整個預期位址範圍內的所有位址,則未覆蓋的位址可被認為在解碼資料中具有預設值,例如0x00或0xFF位元組。
圖6A說明根據本揭示內容之實施例的用以完成源系統之閃爍備份之過程600。過程600可藉由作業系統204及資料適應模組211完成。
過程600在步驟601處開始,在步驟601處,識別將要自源系統備份的記憶體資源。例如,記憶體資源可對應於整個伺服器或專用於特定功能或群組(例如會計功能)的虛擬伺服器,或對應於另一相似計算系統。更特定而言,記憶體資源可對應於在源系統(亦即,待備份的系統)上執行的一或多個過程。虛擬伺服器可與分別專用於其他功能之其他虛擬伺服器一起在實體伺服器上被代管,該等其他功能諸如銷售及行銷、工程部門等。
接下來,過程600過渡至步驟603,在步驟603處,自源系 統(亦即,待備份的系統)擷取在步驟601中識別的記憶體內容。過程600之控制可隨後轉移至編碼過程500以便進一步處理。在步驟601中識別之記憶體內容可用作經輸入以藉由過程500編碼的原始資料區塊。可在轉移至編碼過程500之前以大體上任何便利方式分割原始資料區塊。例如,原始資料區塊可具有大體上均勻的區塊大小(例如,每原始資料區塊1百萬位元組),或原始資料區塊可對應於由正被備份的伺服器之相應過程使用的記憶體空間,等等。在一些實施例中,如‘175申請案所述之標誌表可由一個以上閃爍備份參考。
圖6B說明根據本揭示內容之實施例的用以自閃爍備份復原系統之過程650。閃爍備份亦可稱為目標系統,因為當製作閃爍備份時,其為備份之目標。過程650可藉由作業系統204及資料適應模組211完成。
過程650在步驟651處開始,在步驟651處,實施例識別要復原之系統。
接下來,過程650過渡至步驟653,在步驟653處,自諸如NV-DIMM 309之編碼記憶體擷取對應於待復原的伺服器之編碼內容。
接下來,過程650過渡至步驟655,在步驟655處,調用諸如解碼過程550之解碼過程以便解碼來自步驟653之所擷取編碼內容。
接下來,過程650過渡至步驟657,在步驟657處,將解碼資料保存至目標系統之記憶體空間中。解碼資料可儲存在與其在源系統上佔據之記憶體位址相同的記憶體位址處。
雖然前文係關於本發明之實施例,但在不脫離本發明之基本範疇的情況下,可設計出本發明之另外及其他實施例。應理解,在不脫離本文中所含之範疇的情況下,本文所述之各種實施例可與所述任何其他實施例組合使用。此外,先前描述不欲為詳盡的或將本發明限於所揭示的精確形式。根據以上教示,修改及變化為可能的或可自本發明之實踐獲取。某些例示性實施例可藉由使用開放式清單來識別,該開放式清單包括措詞來指示:清單項目代表實施例,且該清單不欲表示不包括其他實施例的封閉式清單。此種措詞可包括「例如(e.g.)」、「等」、「諸如」、「例如(for example)」、「等等」、「及類似物」等,以及將自周圍情境顯而易見的其他措 詞。
本申請案之描述中所使用的元件、動作或指令均不應解釋為對本發明係關鍵或必要的,除非明確地如此描述。此外,如本文所用,冠詞「一」意欲包括一或多個項目。在預期僅一個項目的情況下,使用術語「一個」或相似語言。此外,如本文所用,後續接著複數個項目及/或複數個項目種類之清單的術語「中之任一者」意欲個別地或與其他項目及/或其他項目種類結合地包括項目及/或項目種類「中之任一者」、「之任何組合」、「中之任何多者」及/或「中之多者的任何組合」。
此外,申請專利範圍不應理解為限於所描述的順序或元素,除非大意如此。此外,在任何請求項中使用術語「構件」意欲援引35U.S.C.§112第6段,且不具有詞「構件」之任何請求項並無此意圖的。
300‧‧‧系統
301-A‧‧‧企業A
301-B‧‧‧企業B
301-C‧‧‧企業C
303-A-1至303-A-n、303-B-1至303-B-n、303-C-1至303-C-n‧‧‧伺服器
305‧‧‧仿製伺服器
306‧‧‧閃爍存放庫
308‧‧‧通訊網路

Claims (26)

  1. 一種仿製一源計算系統之方法,該方法包含以下步驟:選擇耦接至該源計算系統之一記憶體空間;自該所選記憶體空間擷取未編碼資料;藉由使用在一備份伺服器上執行的一基於位元標誌的編碼過程來編碼該未編碼資料;將編碼資料儲存在耦接至該備份伺服器之一受保護記憶體中,其中該受保護記憶體受保護免於一電力中斷;自該受保護記憶體擷取該編碼資料;以及將該編碼資料解碼至一目標計算系統上,其中該目標計算系統與該源計算系統分離。
  2. 如請求項1之方法,其中選擇一記憶體空間包含:識別在該源計算系統上執行之一或多個計算過程;以及選擇該一或多個經識別的計算過程中之每一者所使用之一記憶體空間。
  3. 如請求項1之方法,其中選擇該記憶體空間包含該源計算系統之一整個依電性記憶體位址範圍。
  4. 如請求項1之方法,其中選擇該記憶體空間包含該源計算系統之一整個依電性記憶體位址範圍之一固定範圍子集。
  5. 如請求項1之方法,其中該源計算系統包含一虛擬伺服器。
  6. 如請求項1之方法,其中耦接至該備份伺服器之該受保護記憶體儲存複數個源計算系統參考影像。
  7. 如請求項6之方法,其中該等複數個源計算系統參考影像包含一單個源計算系統之隨著時間推移的影像。
  8. 如請求項6之方法,其中該等複數個源計算系統參考影像包含複數個源計算系統之影像。
  9. 如請求項1之方法,其中藉由來自在正被仿製的該源計算系統外部之一源的請求來創建該源計算系統之該仿製。
  10. 如請求項1之方法,其中在由正被仿製的該源計算系統判定之一時間創建該源計算系統之該仿製。
  11. 如請求項1之方法,其中仿製該源計算系統可操作來將該目標計算系統變更目的成一不同用途。
  12. 如請求項1之方法,其中仿製該源計算系統可操作來將該目標計算系統復原成一備份狀態。
  13. 如請求項1之方法,其中仿製該源計算系統可操作來將該目標計算系統自一備用狀況變更目的成一作用中狀況。
  14. 如請求項1之方法,其中選擇一記憶體空間包含:一第一記憶體空間,其包含一非客製化伺服器之一基本系統影像;以及一第二記憶體空間,其包含該非客製化伺服器之系統特定客製化。
  15. 一種仿製一源計算系統之系統,該系統包含:一處理器,其耦接至一記憶體,該記憶體為該源計算系統提供一記憶體空間;一通訊介面,其用以支援自該記憶體空間擷取未編碼資料;一編碼器,其用以藉由使用在一備份伺服器上執行的一基於位元標誌的編碼過程來編碼該未編碼資料;一儲存模組,其用以將編碼資料儲存在耦接至該備份伺服器之一受保護記憶體中,其中該受保護記憶體受保護免於一電力中斷;一通訊介面,其用以支援自該受保護記憶體擷取該編碼資料;以及一解碼器,其用以將該編碼資料解碼至一目標計算系統上,其中該目標計算系統與該源計算系統分離。
  16. 如請求項15之系統,其中選擇該記憶體空間包含該源計算系統之一整個依電性記憶體位址範圍。
  17. 如請求項15之系統,其中選擇該記憶體空間包含該源計算系統之一整個依電性記憶體位址範圍之一固定範圍子集。
  18. 如請求項15之系統,其中該源計算系統包含一虛擬伺服器。
  19. 如請求項15之系統,其中耦接至該備份伺服器之該受保護記憶體儲存複數個源計算系統參考影像。
  20. 如請求項19之系統,其中該等複數個源計算系統參考影像包含一單個 源計算系統之隨著時間推移的影像。
  21. 一種編碼系統狀態資料之系統,該系統包含:一資料介面,其用以接收一未編碼系統狀態資料區塊,其中該未編碼系統狀態資料區塊表示選自由一複合物件及一多維資料物件組成之一群組的一者;以及一處理器,其耦接至一記憶體,該處理器經組配來:將該未編碼系統狀態資料區塊分解成預設資料及非預設資料;將該非預設資料映射至複數個資料向量;將該等複數個資料向量中之每一者映射至一相應位元標誌;以及將該相應位元標誌儲存在該記憶體中以產生該未編碼系統狀態資料之一編碼表示。
  22. 一種編碼系統狀態資料之系統,該系統包含:一資料介面,其用以接收一未編碼系統狀態資料區塊;以及一處理器,其耦接至一記憶體,該處理器經組配來:將該未編碼系統狀態資料區塊分解成預設資料及非預設資料;將該非預設資料映射至複數個資料向量;將該等複數個資料向量中之每一者映射至一相應位元標誌;以及將該相應位元標誌儲存在該記憶體中以產生該未編碼系統狀態資料之一編碼表示,其中該位元標誌包含選自由以下各者組成之一群組的一者:一種子值及一複製規則;以及複數個其他位元標誌及一組合規則。
  23. 一種編碼系統狀態資料之系統,該系統包含:一資料介面,其用以接收一未編碼系統狀態資料區塊;以及一處理器,其耦接至一記憶體,該處理器經組配來:將該未編碼系統狀態資料區塊分解成預設資料及非預設資料;將該非預設資料映射至複數個資料向量,其中該資料向量中之至少一者包含一碎形圖案;將該等複數個資料向量中之每一者映射至一相應位元標誌;以及 將該相應位元標誌儲存在該記憶體中以產生該未編碼系統狀態資料之一編碼表示。
  24. 一種編碼系統狀態資料之系統,該系統包含:一資料介面,其用以接收一未編碼系統狀態資料區塊,其中該未編碼系統狀態資料區塊表示選自由一複合物件及一多維資料物件組成之一群組的一者;以及一處理器,其耦接至一記憶體,該處理器經組配來:將該未編碼系統狀態資料區塊分解成複數個資料向量;將該等複數個資料向量中之每一者映射至一相應位元標誌;以及將該相應位元標誌儲存在該記憶體中以產生該未編碼系統狀態資料之一編碼表示,其中該等複數個資料向量中之至少一些在表示該未編碼系統狀態資料區塊時彼此重疊。
  25. 一種編碼系統狀態資料之系統,該系統包含:一資料介面,其用以接收一未編碼系統狀態資料區塊;以及一處理器,其耦接至一記憶體,該處理器經組配來:將該未編碼系統狀態資料區塊分解成複數個資料向量;將該等複數個資料向量中之每一者映射至一相應位元標誌,其中該相應位元標誌包含選自由以下各者組成之一群組的一者:一種子值及一複製規則;以及複數個其他位元標誌及一組合規則;以及將該相應位元標誌儲存在該記憶體中以產生該未編碼系統狀態資料之一編碼表示,其中該等複數個資料向量中之至少一些在表示該未編碼系統狀態資料區塊時彼此重疊。
  26. 一種編碼系統狀態資料之系統,該系統包含:一資料介面,其用以接收一未編碼系統狀態資料區塊;以及一處理器,其耦接至一記憶體,該處理器經組配來:將該未編碼系統狀態資料區塊分解成複數個資料向量,其中該等資 料向量中之至少一者包含一碎形圖案;將該等複數個資料向量中之每一者映射至一相應位元標誌;以及將該相應位元標誌儲存在該記憶體中以產生該未編碼系統狀態資料之一編碼表示,其中該等複數個資料向量中之至少一些在表示該未編碼系統狀態資料區塊時彼此重疊。
TW106111156A 2016-04-04 2017-03-31 快速系統狀態仿製 TW201738759A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US15/089,837 US9817728B2 (en) 2013-02-01 2016-04-04 Fast system state cloning

Publications (1)

Publication Number Publication Date
TW201738759A true TW201738759A (zh) 2017-11-01

Family

ID=60000675

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106111156A TW201738759A (zh) 2016-04-04 2017-03-31 快速系統狀態仿製

Country Status (7)

Country Link
EP (1) EP3440549A4 (zh)
JP (1) JP2019514146A (zh)
KR (1) KR20190013729A (zh)
CN (1) CN109643259A (zh)
AR (1) AR108087A1 (zh)
TW (1) TW201738759A (zh)
WO (1) WO2017176523A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI750425B (zh) * 2018-01-19 2021-12-21 南韓商三星電子股份有限公司 資料儲存系統和用於寫入鍵值對的物件的方法
TWI788084B (zh) * 2021-11-03 2022-12-21 財團法人資訊工業策進會 運算裝置以及資料備份方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10061514B2 (en) 2015-04-15 2018-08-28 Formulus Black Corporation Method and apparatus for dense hyper IO digital retention
US9390154B1 (en) 2015-08-28 2016-07-12 Swirlds, Inc. Methods and apparatus for a distributed database within a network
US10747753B2 (en) 2015-08-28 2020-08-18 Swirlds, Inc. Methods and apparatus for a distributed database within a network
EP4027251A1 (en) 2016-11-10 2022-07-13 Swirlds, Inc. Methods and apparatus for a distributed database including anonymous entries
CN116820695A (zh) 2016-12-19 2023-09-29 海德拉哈希图有限责任公司 用于启用事件删除的分布式数据库的方法和设备
US10375037B2 (en) 2017-07-11 2019-08-06 Swirlds, Inc. Methods and apparatus for efficiently implementing a distributed database within a network
CA3076257A1 (en) 2017-11-01 2019-05-09 Swirlds, Inc. Methods and apparatus for efficiently implementing a fast-copyable database
US10572186B2 (en) 2017-12-18 2020-02-25 Formulus Black Corporation Random access memory (RAM)-based computer systems, devices, and methods
US10725853B2 (en) 2019-01-02 2020-07-28 Formulus Black Corporation Systems and methods for memory failure prevention, management, and mitigation
US11475150B2 (en) 2019-05-22 2022-10-18 Hedera Hashgraph, Llc Methods and apparatus for implementing state proofs and ledger identifiers in a distributed database
KR102557352B1 (ko) 2020-12-31 2023-07-19 스노우화이트팩토리(주) 생열귀나무 추출물을 유효성분으로 포함하는 치주 질환의 예방 또는 치료용 조성물

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060212644A1 (en) * 2005-03-21 2006-09-21 Acton John D Non-volatile backup for data cache
US8806271B2 (en) * 2008-12-09 2014-08-12 Samsung Electronics Co., Ltd. Auxiliary power supply and user device including the same
US8055937B2 (en) * 2008-12-22 2011-11-08 QuorumLabs, Inc. High availability and disaster recovery using virtualization
JP2011039589A (ja) * 2009-08-06 2011-02-24 Fujitsu Ltd 復元制御装置、復元制御方法、コンピュータ可読記憶媒体、及び、復元制御プログラム
US20150163060A1 (en) * 2010-04-22 2015-06-11 Martin Tomlinson Methods, systems and apparatus for public key encryption using error correcting codes
US20120239860A1 (en) * 2010-12-17 2012-09-20 Fusion-Io, Inc. Apparatus, system, and method for persistent data management on a non-volatile storage media
CN102073893A (zh) * 2010-12-27 2011-05-25 陆宝武 一种防伪编码方法及解码装置
JP5976840B2 (ja) * 2011-12-29 2016-08-24 ヴイエムウェア インコーポレイテッドVMware,Inc. デスクトップイメージのnウェイ同期化
US9137225B2 (en) * 2012-04-23 2015-09-15 Raghavendra Kulkarni Seamless remote storage of uniformly encrypted data for diverse platforms and devices
US9467294B2 (en) * 2013-02-01 2016-10-11 Symbolic Io Corporation Methods and systems for storing and retrieving data
US9817728B2 (en) * 2013-02-01 2017-11-14 Symbolic Io Corporation Fast system state cloning
US20140223118A1 (en) * 2013-02-01 2014-08-07 Brian Ignomirello Bit Markers and Frequency Converters

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI750425B (zh) * 2018-01-19 2021-12-21 南韓商三星電子股份有限公司 資料儲存系統和用於寫入鍵值對的物件的方法
TWI788084B (zh) * 2021-11-03 2022-12-21 財團法人資訊工業策進會 運算裝置以及資料備份方法

Also Published As

Publication number Publication date
JP2019514146A (ja) 2019-05-30
WO2017176523A1 (en) 2017-10-12
KR20190013729A (ko) 2019-02-11
CN109643259A (zh) 2019-04-16
WO2017176523A8 (en) 2018-10-25
EP3440549A1 (en) 2019-02-13
AR108087A1 (es) 2018-07-18
EP3440549A4 (en) 2019-11-13

Similar Documents

Publication Publication Date Title
US9977719B1 (en) Fast system state cloning
TW201738759A (zh) 快速系統狀態仿製
US11513926B2 (en) Systems and methods for instantiation of virtual machines from backups
US11675520B2 (en) Application replication among storage systems synchronously replicating a dataset
US20210182190A1 (en) Intelligent die aware storage device scheduler
US10120607B2 (en) Method and apparatus for dense hyper IO digital retention
Bessani et al. SCFS: A Shared Cloud-backed File System.
CN106062742B (zh) 用于改进快照性能的系统和方法
US10606482B2 (en) Method and apparatus for dense hyper IO digital retention
US9628108B2 (en) Method and apparatus for dense hyper IO digital retention
US20150186411A1 (en) Enhancing Reliability of a Storage System by Strategic Replica Placement and Migration
US11093332B2 (en) Application checkpoint and recovery system
US9971532B2 (en) GUID partition table based hidden data store system
US20220091744A1 (en) Optimized Application Agnostic Object Snapshot System
WO2022066865A1 (en) Bucket versioning snapshots
CN117296034A (zh) 用于存储即服务的角色强制执行