TWI621942B - 作業系統層次之工作階段容錯移轉方法以及使用該方法的系統 - Google Patents

作業系統層次之工作階段容錯移轉方法以及使用該方法的系統 Download PDF

Info

Publication number
TWI621942B
TWI621942B TW104101433A TW104101433A TWI621942B TW I621942 B TWI621942 B TW I621942B TW 104101433 A TW104101433 A TW 104101433A TW 104101433 A TW104101433 A TW 104101433A TW I621942 B TWI621942 B TW I621942B
Authority
TW
Taiwan
Prior art keywords
operating system
virtual machine
fault
storage space
cloud storage
Prior art date
Application number
TW104101433A
Other languages
English (en)
Other versions
TW201627861A (zh
Inventor
陳志明
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 緯創資通股份有限公司
Priority to TW104101433A priority Critical patent/TWI621942B/zh
Priority to CN201510038121.XA priority patent/CN105893108A/zh
Priority to US14/685,114 priority patent/US9542282B2/en
Publication of TW201627861A publication Critical patent/TW201627861A/zh
Application granted granted Critical
Publication of TWI621942B publication Critical patent/TWI621942B/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/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • G06F11/1484Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1064Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in cache or content addressable 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/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • 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/202Error 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 processing functionality is redundant
    • G06F11/2043Error 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 processing functionality is redundant where the redundant components share a common memory address space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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/202Error 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 processing functionality is redundant
    • G06F11/2023Failover techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint

Abstract

本發明的實施例提出一種作業系統層次之工作階段容錯移轉方法,包含以下步驟。當伺服器作業系統失效時,選擇虛擬機器進行容錯移轉。透過相應於此虛擬機器的超級監督程式將虛擬機器的記憶體及本地儲存裝置映射至分散式共享記憶體及雲端儲存空間中之失效伺服器作業系統使用的實體記憶體空間及實體儲存空間,以及透過此超級監督程式從分散式快取系統取得失效伺服器作業系統的作業系統狀態。

Description

作業系統層次之工作階段容錯移轉方法以及使用該方法的系統
本發明關連於一種容錯移轉技術,特別是一種作業系統層次之工作階段容錯移轉方法以及使用該方法的系統。
多層式架構是一種客戶端-伺服器架構,其中,使用者介面、功能處理邏輯、資料儲存及資料存取執行於獨立的模組中,通常是運行在不同的平台。多個節點協同運作於一個客戶端工作階段,起始於一個前端,用以完成一個客戶端具狀態的傳輸控制協定/網際網路協定(TCP/IP,Transmission Control Protocol/Internet Protocol)通訊,經過一或多個實施應用程式邏輯的層,並且結束於管理一致性資料的資料庫或儲存伺服器。然而,作業系統層次的錯誤通常難以回復,造成應用程式中的資料遺失。因此,需要一種作業系統層次之工作階段容錯移轉方法以及使用該方法的系統,用以解決如上所述的缺陷。
本發明的實施例提出一種作業系統層次之工作階段容錯移轉方法,包含以下步驟。當伺服器作業系統失效時,選擇虛擬機器進行容錯移轉。透過相應於此虛擬機器的超級監 督程式將虛擬機器的記憶體及本地儲存裝置映射至分散式共享記憶體及雲端儲存空間中之失效伺服器作業系統使用的實體記憶體空間及實體儲存空間,以及透過此超級監督程式從分散式快取系統取得失效伺服器作業系統的作業系統狀態。
本發明的實施例提出一種作業系統層次之工作階段容錯移轉,包含伺服器作業系統、虛擬機器、分散式快取系統、分散式共享記憶體及雲端儲存空間以及健康監督器。健康監督器用以當伺服器作業系統失效時,選擇此虛擬機器進行容錯移轉;透過相應於虛擬機器的超級監督程式將虛擬機器的記憶體及本地儲存裝置映射至分散式共享記憶體及雲端儲存空間中之失效伺服器作業系統使用的實體記憶體空間及實體儲存空間;以及透過超級監督程式從分散式快取系統取得失效伺服器作業系統的作業系統狀態。
110‧‧‧客戶端
130‧‧‧負載平衡單元
150A、150B、150C‧‧‧實體計算裝置
151A、151B、151C‧‧‧虛擬機器
153A、153B、153C‧‧‧超級監督程式
170‧‧‧分散式快取系統
190‧‧‧分散式共享記憶體及雲端儲存空間
160_1、160_2、…、160_i‧‧‧資料庫前端模組
170_1、170_2、…、170_i‧‧‧巨量資料儲存節點
210‧‧‧瀏覽器
220A、220B‧‧‧通訊協定連線
230A、230B‧‧‧應用程式
240A、240B‧‧‧資料庫連線
250‧‧‧資料庫
310‧‧‧處理單元
320‧‧‧顯示單元
330‧‧‧輸入裝置
340‧‧‧儲存裝置
350‧‧‧記憶體
360‧‧‧通訊介面
S411~S471‧‧‧方法步驟
t‧‧‧時間區間
S611~S657‧‧‧方法步驟
第1圖係依據本發明實施例之作業系統層次之工作階段容錯移轉系統的系統架構圖。
第2A圖係依據本發明實施例之多層次架構示意圖。
第2B圖係依據本發明實施例之容錯移轉後的多層次架構示意圖。
第3圖係依據本發明實施例的計算機裝置的系統架構圖。
第4圖係依據本發明實施例之沖洗更新交易方法流程圖。
第5圖係依據本發明實施例之週期性檢查示意圖。
第6圖係依據本發明實施例之容錯移轉方法流程圖。
以下說明係為完成發明的較佳實現方式,其目的在於描述本發明的基本精神,但並不用以限定本發明。實際的發明內容必須參考之後的權利要求範圍。
必須了解的是,使用於本說明書中的”包含”、”包括”等詞,係用以表示存在特定的技術特徵、數值、方法步驟、作業處理、元件以及/或組件,但並不排除可加上更多的技術特徵、數值、方法步驟、作業處理、元件、組件,或以上的任意組合。
於權利要求中使用如”第一”、"第二"、"第三"等詞係用來修飾權利要求中的元件,並非用來表示之間具有優先權順序,先行關係,或者是一個元件先於另一個元件,或者是執行方法步驟時的時間先後順序,僅用來區別具有相同名字的元件。
第1圖係依據本發明實施例之作業系統層次之工作階段容錯移轉系統的系統架構圖。負載平衡單元(load balancer)130可包含健康監督器(health monitor),用以接收虛擬機器(VM OS,Virtual Machine)定期發送心跳訊號(heartbeat signal)。當健康監督器接收到一個虛擬機器發送的心跳訊號及代表此虛擬機器仍持續正常運行。當健康監督器於一段預設時間後都沒有接收到一個虛擬機器的心跳訊號,則判斷此虛擬機器失效,並觸發容錯移轉處理。於此須注意的是,健康監督器也可以不整合於負載平衡單元130內,而為一個獨立的模組。執行於實體計算裝置中的虛擬機器,例如虛擬機器151A,通常 需要記憶體儲存工作階段中需要的資料,例如,執行變數(runtime variables)、資料表(data tables)、與客戶端110進行加密通訊的憑證(certificate)、與資料庫進行資料庫連線的憑證等,以及儲存裝置,用以儲存各式各樣的電子檔案,例如,網頁、文件、音訊檔、視訊檔等。虛擬機器151A又可稱為伺服器作業系統(server OS),用以根據客戶端110的請求提供各式各樣的應用程式服務。虛擬機器151A並不直接使用實體計算裝置150A中的記憶體和儲存裝置來儲存工作階段中所需要的資料以及各式各樣的電子檔案,而是透過超級監督程式153A將工作階段中所需要的資料以及各式各樣的電子檔案儲存至分散式共享記憶體及雲端儲存空間(distributed share-memory-and-cloud-storage)190。當虛擬機器151A失效時,健康監督器可啟動虛擬機器151B(又可稱為胚胎虛擬機器embryo VM),並且將啟動之虛擬機器151B使用的記憶體及本地儲存裝置映射(map)至先前虛擬機器151A使用之分散式共享記憶體及雲端儲存空間190中的實體記憶體空機及實體儲存空間,使得先前執行於虛擬機器151A的應用程式依然可透過虛擬機器151B存取分散式共享記憶體及雲端儲存空間中的資料及檔案。於此須注意的是,另一種容錯移轉的方法可將儲存於實體計算裝置150A中的記憶體和儲存裝置的資料和檔案遷移(migrate)到實體計算裝置150B中的記憶體和儲存裝置。然而,資料和檔案的遷移會耗費大量的時間而無法在逾時(timeout)前將應用程式的執行移轉至新啟動之虛擬機器,造成工作階段失敗(session fail)。而使用如上所述的映射方法可降低工作階段失敗的風險。對應於 虛擬機器151A、151B及151C的作業系統狀態(OSstates)儲存於分散式快取系統(distributed cache system)170。虛擬機器151A、151B及151C分別透過超級監督程式(hypervisor)153A、153B及153C存取分散式快取系統170及分散式共享記憶體及雲端儲存空間190中的資料與檔案。超級監督程式153A、153B或153C負責與分散式快取系統170間進行錯誤控制(例如處理封包丟失的情況)以及與分散式共享記憶體及雲端儲存空間190間進行錯誤控制。此外,超級監督程式153A、153B或153C負責操作實施於高可用環境(例如資料鏡像技術)的分散式快取系統170與分散式共享記憶體及雲端儲存空間190。超級監督程式可確保相應的虛擬機器獲得正確的資料或檔案。虛擬機器151B可透過超級監督程式153B從分散式快取系統170取得虛擬機器151A發生錯誤前的最後作業系統狀態,以及從分散式共享記憶體及雲端儲存空間190取得虛擬機器151A發生錯誤前的最後工作階段資料以及檔案。
於容錯移轉時,虛擬機器151B可重建所需的連線。舉例來說,第2A圖係依據本發明實施例之多層次架構示意圖。執行於虛擬機器151A的應用程式230A與瀏覽器210(又可稱為先行層)間建立通訊協定連線220A,並且將通訊協定憑證儲存於分散式共享記憶體及雲端儲存空間190中所配置的實體記憶體空間。此外,執行於虛擬機器151A的應用程式230A與資料庫250(又可稱為接續層)間建立資料庫連線240A,並且將資料庫憑證儲存於分散式共享記憶體及雲端儲存空間190中所配置的實體記憶體空間。第2B圖係依據本發明實施例之容錯移轉 後的多層次架構示意圖。當應用程式230A發生錯誤時,可將應用程式230A中的工作(tasks)移轉至虛擬機器151B中執行的應用程式230B。應用程式230B取得映射之記憶體中的通訊協定憑證,並且使用此通訊協定憑證與瀏覽器210間建立新的通訊協定連線220B,以及,取得映射之記憶體中的資料庫憑證,並且使用此資料庫憑證與資料庫250間建立新的資料庫連線240B。
負載平衡單元130、虛擬機器151A及超級監督程式153A可整合於一部計算機裝置中,也可分散在不同的計算機裝置。類似地,成對的虛擬機器151B及超級監督程式153B,或者,成對的虛擬機器151C及超級監督程式153C可整合於一部計算機裝置中,也可分散在不同的計算機裝置。分散式快取系統170可包含多部的計算機裝置,用以儲存及鏡射相應於伺服器作業系統的作業系統狀態。分散式共享記憶體及雲端儲存空間190可包含多部的計算機裝置,用以實施相應於伺服器作業系統的記憶體及本地儲存裝置。第3圖係依據本發明實施例的計算機裝置的系統架構圖。處理單元310可使用多種方式實施,例如以專用硬體電路或通用硬體(例如,單一處理器、具平行處理能力的多處理器、圖形處理器或其他具運算能力的處理器),並且在執行程式碼或軟體時,提供之後所描述的功能。系統架構另包含記憶體350用以儲存執行過程中需要的資料,例如,執行變數、資料表、作業系統狀態以及與客戶端110進行加密通訊的憑證等,以及儲存裝置340,用以儲存各式各樣的電子檔案,例如,網頁、文件、音訊檔、視訊檔等。系統架構另包含通訊介面360,讓處理單元310可藉以跟其他電子裝置進行溝 通。通訊介面360可以是區域網路(local area network,LAN)通訊模組或無線區域網路通訊模組(WLAN)。輸入裝置330可包含鍵盤、滑鼠、觸控面板等。使用者可按壓鍵盤上的硬鍵來輸入字元,藉由操作滑鼠來控制鼠標,或者是在觸控面板製造手勢來控制執行中的應用程式。手勢可包含單擊、雙擊、單指拖曳、多指拖曳等,但不限定於此。顯示單元320可包含顯示面板(例如,薄膜液晶顯示面板、有機發光二極體面板或其他具顯示能力的面板),用以顯示輸入的字元、數字、符號、拖曳鼠標的移動軌跡、繪製的圖案或應用程式所提供的畫面,提供給使用者觀看。
第4圖係依據本發明實施例之沖洗更新交易方法流程圖。此方法當伺服器作業系統中的程式碼被處理單元310載入並執行時實施。此方法週期性檢查是否到達檢查點(步驟S411),並且執行後續的沖洗更新及回復程序(步驟S431至S471)。沖洗更新及回復程序係將一段時間中針對分散式快取系統170以及分散式共享記憶體及雲端儲存空間190的交易(transactions)蒐集成一個原子操作(atomic operation),並且在原子操作中的任一交易失敗時回復原子操作中已經執行過的交易。第5圖係依據本發明實施例之週期性檢查示意圖。處理單元110每隔一段時間t,執行如第4圖所示的方法流程。詳細來說,於時間到達檢查點後(步驟S411),紀錄沖洗更新前的狀態(步驟S431)。於步驟S431,這些狀態包含分散式快取系統170中關聯於伺服器作業系統的作業系統狀態、分散式共享記憶體及雲端儲存空間190中關聯於伺服器作業系統的資料與檔案、 針對分散式快取系統170的未沖洗更新交易以及針對分散式共享記憶體及雲端儲存空間190的未沖洗更新交易。針對分散式快取系統170的未沖洗更新交易包括新增、刪除及更新作業系統狀態。針對分散式共享記憶體及雲端儲存空間190的未沖洗更新交易包含新增、刪除及更新工作階段中需要的資料,以及各式各樣的電子檔案。接著,判斷最近一次的沖洗更新是否失敗(步驟S433),若是則繼續累積針對分散式快取系統170以及分散式共享記憶體及雲端儲存空間190的交易至下一個檢查點(步驟S411);否則,執行沖洗更新程序(步驟S435)。於此須注意的是,當最近一次的沖洗更新失敗時,更新狀態旗標設為”偽”值。於步驟S433,伺服器作業系統可藉由更新狀態旗標判斷最近一次的沖洗更新是否失敗。於步驟S435,伺服器作業系統執行原子操作中針對分散式快取系統170以及分散式共享記憶體及雲端儲存空間190的所有交易,並且蒐集每一個交易的執行結果(成功或失敗)。於執行沖洗更新程序後(步驟S435),進行兩個判斷:包含判斷所有針對分散式快取系統170的交易是否成功(步驟S451),以及判斷所有針對分散式共享記憶體及雲端儲存空間190的交易是否成功(步驟S453)。當兩個條件都滿足時(步驟S451中”是”的路徑及S453中”是”的路徑),則代表這次的沖洗更新程序成功,並繼續累積新的交易至下一個檢查點(步驟S411)。當兩個條件都滿足時,伺服器作業系統更將更新狀態旗標設為”真”值。當其中一個條件不滿足時(步驟S451中”否”的路徑或步驟S453中”否”的路徑),回復至沖洗更新前的狀態(步驟S471)。於步驟S471,伺服器作業系統更將更新狀態 旗標設為”偽”值。
第6圖係依據本發明實施例之容錯移轉方法流程圖。此方法當相關程式碼被處理單元310載入並執行時實施。首先,健康監督器週期性的判斷伺服器作業系統是否失效(步驟S611)。一旦偵測到伺服器作業系統失效時(步驟S611中”是”的路徑),健康監督器選擇一個虛擬機器(又可稱為胚胎虛擬機器)進行容錯移轉(步驟S613)。胚胎虛擬機器係指一個空的虛擬機器,並沒有映射到分散式共享記憶體及雲端儲存空間190中之任何的實體記憶體與儲存裝置,亦沒有儲存任何的作業系統狀態。接著,一方面,健康監督器停止伺服器作業系統(步驟S631)。另一方面,健康監督器將胚胎虛擬機器的媒體存取控制(MAC,Media Access Control)位址改為相同於失效伺服器作業系統的媒體存取控制位址(步驟S651),透過相應的超級監督程式將胚胎虛擬機器的記憶體及本地儲存裝置映射至分散式共享記憶體及雲端儲存空間190中之失效伺服器作業系統的實體記憶體空間及實體儲存空間(步驟S653),透過相應的超級監督程式從分散式快取系統170取得失效伺服器作業系統的作業系統狀態(步驟S655),以及使用映射之實體記憶體空間中工作階段所需要的資料,例如執行變數、資料表、憑證等,重新建立胚胎虛擬機器與先行層及接續層的連線(步驟S657)。舉例來說,當健康監督器選擇虛擬機器151B進行容錯移轉時(步驟S613),透過超級監督程式153B進行記憶體及本地儲存裝置的映射(步驟S653),以及取得作業系統狀態(步驟S655)。此外,步驟S657的實例可參考第2A圖及第2B圖的描述。於此須注意 的是,當完成步驟S651至S657的組態後,虛擬機器151B成為新的伺服器作業系統。一旦虛擬機器151B成為新的伺服器作業系統後,執行如第4圖所述的沖洗更新交易方法。
雖然第1圖中包含了以上描述的元件,但不排除在不違反發明的精神下,使用更多其他的附加元件,已達成更佳的技術效果。此外,雖然第4圖及第6圖的方法流程圖採用特定的順序來執行,但是在不違法發明精神的情況下,熟習此技藝人士可以在達到相同效果的前提下,修改這些步驟間的順序,所以,本發明並不侷限於僅使用如上所述的順序。
雖然本發明使用以上實施例進行說明,但需要注意的是,這些描述並非用以限縮本發明。相反地,此發明涵蓋了熟習此技藝人士顯而易見的修改與相似設置。所以,申請權利要求範圍須以最寬廣的方式解釋來包含所有顯而易見的修改與相似設置。

Claims (12)

  1. 一種作業系統層次之工作階段容錯移轉方法,由一處理單元執行,包含:當一伺服器作業系統失效時,選擇一虛擬機器進行容錯移轉;透過相應於上述虛擬機器的一超級監督程式將上述虛擬機器的一記憶體及一本地儲存裝置映射至一分散式共享記憶體及雲端儲存空間中之上述失效伺服器作業系統使用的一實體記憶體空間及一實體儲存空間;透過上述超級監督程式從一分散式快取系統取得上述失效伺服器作業系統的一作業系統狀態,以及從上述分散式共享記憶體及雲端儲存空間取得一工作階段資料;將上述虛擬機器的一媒體存取控制位址改為相同於上述失效伺服器作業系統的媒體存取控制位址;從上述映射實體記憶體空間取得一第一憑證,並且使用上述第一憑證與上述虛擬機器的一先行層間建立一第一連線;以及從上述映射實體記憶體空間取得一第二憑證,並且使用上述第二憑證與上述虛擬機器的一接續層間建立一第二連線。
  2. 如申請專利範圍第1項所述的作業系統層次之工作階段容錯移轉方法,其中,於一段預設時間後都沒有接收到上述伺服器作業系統的一心跳訊號,判斷上述伺服器作業系統失效。
  3. 如申請專利範圍第1項所述的作業系統層次之工作階段容錯移轉方法,更包含:上述虛擬機器週期性到達一檢查點後,執行一沖洗更新及回復程序。
  4. 如申請專利範圍第3項所述的作業系統層次之工作階段容錯移轉方法,其中,上述沖洗更新及回復程序將一段時間中針對上述分散式快取系統以及上述分散式共享記憶體及雲端儲存空間的交易蒐集成一原子操作,並且在上述原子操作中的任一交易失敗時回復上述原子操作中已經執行過的交易。
  5. 如申請專利範圍第1項所述的作業系統層次之工作階段容錯移轉方法,更包含:停止上述失效伺服器作業系統。
  6. 如申請專利範圍第1項所述的作業系統層次之工作階段容錯移轉方法,其中,上述超級監督程式與上述分散式快取系統之間進行錯誤控制,上述超級監督程式與上述分散式共享記憶體及雲端儲存空間之間進行錯誤控制,以及上述超級監督程式操作實施於高可用環境的上述分散式快取系統及上述分散式共享記憶體及雲端儲存空間。
  7. 一種作業系統層次之工作階段容錯移轉系統,包含:一伺服器作業系統;一虛擬機器;一分散式快取系統;一分散式共享記憶體及雲端儲存空間;以及 一健康監督器,用以當上述伺服器作業系統失效時,選擇上述虛擬機器進行容錯移轉;透過相應於上述虛擬機器的一超級監督程式將上述虛擬機器的一記憶體及一本地儲存裝置映射至上述分散式共享記憶體及雲端儲存空間中之上述失效伺服器作業系統使用的一實體記憶體空間及一實體儲存空間;以及透過上述超級監督程式從上述分散式快取系統取得上述失效伺服器作業系統的一作業系統狀態,以及從上述分散式共享記憶體及雲端儲存空間取得一工作階段資料;其中,上述健康監督器將上述虛擬機器的一媒體存取控制位址改為相同於上述失效伺服器作業系統的媒體存取控制位址;其中,上述虛擬機器透過超級監督程式從上述映射實體記憶體空間取得一第一憑證,並且使用上述第一憑證與上述虛擬機器的一先行層間建立一第一連線;以及上述虛擬機器透過超級監督程式從上述映射實體記憶體空間取得一第二憑證,並且使用上述第二憑證與上述虛擬機器的一接續層間建立一第二連線。
  8. 如申請專利範圍第7項所述的作業系統層次之工作階段容錯移轉系統,其中上述健康監督器於一段預設時間後都沒有接收到上述伺服器作業系統的一心跳訊號,判斷上述伺服器作業系統失效。
  9. 如申請專利範圍第7項所述的作業系統層次之工作階段容錯移轉系統,其中,上述虛擬機器週期性到達一檢查點後, 執行一沖洗更新及回復程序。
  10. 如申請專利範圍第9項所述的作業系統層次之工作階段容錯移轉系統,其中,上述沖洗更新及回復程序將一段時間中針對上述分散式快取系統以及上述分散式共享記憶體及雲端儲存空間的交易蒐集成一原子操作,並且在上述原子操作中的任一交易失敗時回復上述原子操作中已經執行過的交易。
  11. 如申請專利範圍第7項所述的作業系統層次之工作階段容錯移轉系統,其中,上述健康監督器停止上述失效伺服器作業系統。
  12. 如申請專利範圍第7項所述的作業系統層次之工作階段容錯移轉系統,其中,上述超級監督程式與上述分散式快取系統之間進行錯誤控制,上述超級監督程式與上述分散式共享記憶體及雲端儲存空間之間進行錯誤控制,以及上述超級監督程式操作實施於高可用環境的上述分散式快取系統及上述分散式共享記憶體及雲端儲存空間。
TW104101433A 2015-01-16 2015-01-16 作業系統層次之工作階段容錯移轉方法以及使用該方法的系統 TWI621942B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW104101433A TWI621942B (zh) 2015-01-16 2015-01-16 作業系統層次之工作階段容錯移轉方法以及使用該方法的系統
CN201510038121.XA CN105893108A (zh) 2015-01-16 2015-01-26 操作系统层次的工作阶段容错的移转方法及系统
US14/685,114 US9542282B2 (en) 2015-01-16 2015-04-13 Methods for session failover in OS (operating system) level and systems using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW104101433A TWI621942B (zh) 2015-01-16 2015-01-16 作業系統層次之工作階段容錯移轉方法以及使用該方法的系統

Publications (2)

Publication Number Publication Date
TW201627861A TW201627861A (zh) 2016-08-01
TWI621942B true TWI621942B (zh) 2018-04-21

Family

ID=56407981

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104101433A TWI621942B (zh) 2015-01-16 2015-01-16 作業系統層次之工作階段容錯移轉方法以及使用該方法的系統

Country Status (3)

Country Link
US (1) US9542282B2 (zh)
CN (1) CN105893108A (zh)
TW (1) TWI621942B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9251194B2 (en) * 2012-07-26 2016-02-02 Microsoft Technology Licensing, Llc Automatic data request recovery after session failure
US10002059B2 (en) * 2013-06-13 2018-06-19 Vmware, Inc. System and method for assigning memory available for high availability failover to virtual machines
US10404791B2 (en) * 2015-12-04 2019-09-03 Microsoft Technology Licensing, Llc State-aware load balancing of application servers
US10089124B2 (en) * 2015-12-31 2018-10-02 International Business Machines Corporation Security application for a guest operating system in a virtual computing environment
US10503894B2 (en) * 2016-08-30 2019-12-10 Ncr Corporation Secure process impersonation
US20180189701A1 (en) * 2016-12-29 2018-07-05 General Electric Company Distributed cache cleanup for analytic instance runs processing operating data from industrial assets
JP7351129B2 (ja) * 2019-07-26 2023-09-27 富士通株式会社 情報処理装置および情報処理装置の制御プログラム
US20240095186A1 (en) * 2022-09-15 2024-03-21 International Business Machines Corporation Virtual machine failover with disaggregated shared memory

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080077666A1 (en) * 2006-09-22 2008-03-27 Microsoft Corporation Multipoint control unit (mcu) failure detection and rollover
US20140040896A1 (en) * 2007-02-02 2014-02-06 Vmware, Inc. High availability virtual machine cluster

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7257734B2 (en) * 2003-07-17 2007-08-14 International Business Machines Corporation Method and apparatus for managing processors in a multi-processor data processing system
US20050108593A1 (en) 2003-11-14 2005-05-19 Dell Products L.P. Cluster failover from physical node to virtual node
WO2010079587A1 (ja) * 2009-01-06 2010-07-15 三菱電機株式会社 管理装置及び管理方法及びプログラム
US9110806B2 (en) * 2010-03-10 2015-08-18 Microsoft Technology Licensing, Llc Opportunistic page caching for virtualized servers
US8615676B2 (en) * 2011-03-24 2013-12-24 International Business Machines Corporation Providing first field data capture in a virtual input/output server (VIOS) cluster environment with cluster-aware vioses
US8667490B1 (en) * 2011-07-29 2014-03-04 Emc Corporation Active/active storage and virtual machine mobility over asynchronous distances
US9817733B2 (en) * 2011-10-05 2017-11-14 International Business Machines Corporation Resource recovery for checkpoint-based high-availability in a virtualized environment
CN102521063B (zh) * 2011-11-30 2013-12-25 广东电子工业研究院有限公司 一种适用于虚拟机迁移和容错的共享存储方法
CN102801806A (zh) * 2012-08-10 2012-11-28 薛海强 一种云计算系统及云计算资源管理方法
US9032157B2 (en) * 2012-12-11 2015-05-12 International Business Machines Corporation Virtual machine failover
US9830236B2 (en) * 2013-06-05 2017-11-28 Vmware, Inc. System and method for assigning memory reserved for high availability failover to virtual machines
CN103309764A (zh) * 2013-07-04 2013-09-18 曙光信息产业(北京)有限公司 虚拟机的容错机制的保护方法和装置
US9483352B2 (en) * 2013-09-27 2016-11-01 Fisher-Rosemont Systems, Inc. Process control systems and methods
US9823881B2 (en) * 2013-12-23 2017-11-21 Vmware, Inc. Ensuring storage availability for virtual machines
US9529617B2 (en) * 2014-03-21 2016-12-27 Ca, Inc. Instant virtual machines
US9495259B2 (en) * 2014-06-27 2016-11-15 Vmware, Inc. Orchestrating high availability failover for virtual machines stored on distributed object-based storage

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080077666A1 (en) * 2006-09-22 2008-03-27 Microsoft Corporation Multipoint control unit (mcu) failure detection and rollover
US20140040896A1 (en) * 2007-02-02 2014-02-06 Vmware, Inc. High availability virtual machine cluster

Also Published As

Publication number Publication date
TW201627861A (zh) 2016-08-01
CN105893108A (zh) 2016-08-24
US9542282B2 (en) 2017-01-10
US20160210208A1 (en) 2016-07-21

Similar Documents

Publication Publication Date Title
TWI621942B (zh) 作業系統層次之工作階段容錯移轉方法以及使用該方法的系統
Van Steen et al. Distributed systems principles and paradigms
US20180157674A1 (en) Distributed nfs metadata server
JP6799652B2 (ja) 情報を処理するための方法及び装置
EP3117322B1 (en) Method and system for providing distributed management in a networked virtualization environment
US8245081B2 (en) Error reporting through observation correlation
CN114341792A (zh) 存储集群之间的数据分区切换
US9442715B2 (en) Patch process ensuring high availability of cloud application
US9081597B2 (en) Database change compensation after a transaction commit
US10606709B1 (en) Method and system for intelligently load balancing database backup operations in information technology environments
US9612926B2 (en) Host swap hypervisor that provides high availability for a host of virtual machines
US10474491B2 (en) Method and apparatus for managing cloud server in cloud environment
CN107111530A (zh) 一种容灾方法、系统和装置
US8386282B2 (en) Managing events in a configuration of SOA governance components
US9924002B1 (en) Managing stateless processes
US8156510B2 (en) Process retext for dynamically loaded modules
US20140149982A1 (en) Self-monitored commands
US10108505B2 (en) Mobile agent based memory replication
US10733003B2 (en) Cost efficient and on-demand pool of running instances in a virtual machine environment
US20200026875A1 (en) Protected health information in distributed computing systems
US11080190B2 (en) Detecting and correcting cache memory leaks
US11281483B2 (en) Preserving transient address translation information across a firmware assisted dump procedure
US11334445B2 (en) Using non-volatile memory to improve the availability of an in-memory database
US20160335169A1 (en) Application-centric analysis of leak suspect operations
US10339011B1 (en) Method and system for implementing data lossless synthetic full backups