JP5700009B2 - フォールトトレラントシステム - Google Patents
フォールトトレラントシステム Download PDFInfo
- Publication number
- JP5700009B2 JP5700009B2 JP2012204608A JP2012204608A JP5700009B2 JP 5700009 B2 JP5700009 B2 JP 5700009B2 JP 2012204608 A JP2012204608 A JP 2012204608A JP 2012204608 A JP2012204608 A JP 2012204608A JP 5700009 B2 JP5700009 B2 JP 5700009B2
- Authority
- JP
- Japan
- Prior art keywords
- virtual machine
- primary
- guest
- interrupt
- execution
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1675—Temporal synchronisation or re-synchronisation of redundant processing components
- G06F11/1687—Temporal synchronisation or re-synchronisation of redundant processing components at event level, e.g. by interrupt or result of polling
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B9/00—Safety arrangements
- G05B9/02—Safety arrangements electric
- G05B9/03—Safety arrangements electric with multiple-channel loop, i.e. redundant control systems
-
- 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/1479—Generic software techniques for error detection or fault masking
- G06F11/1482—Generic software techniques for error detection or fault masking by means of middleware or OS functionality
- G06F11/1484—Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1675—Temporal synchronisation or re-synchronisation of redundant processing components
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1675—Temporal synchronisation or re-synchronisation of redundant processing components
- G06F11/1691—Temporal synchronisation or re-synchronisation of redundant processing components using a quantum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1675—Temporal synchronisation or re-synchronisation of redundant processing components
- G06F11/1683—Temporal synchronisation or re-synchronisation of redundant processing components at instruction level
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2038—Error 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 with a single idle spare processing component
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2097—Error 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 maintaining the standby controller/processing unit updated
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Automation & Control Theory (AREA)
- Hardware Redundancy (AREA)
Description
ここで、前記プライマリ仮想マシンは、設定した前記セカンダリ仮想マシンの動作能力を前記セカンダリ仮想マシンに通知し、前記セカンダリ仮想マシンは、通知された動作能力に従って動作を行なうことができる。
また、前記動作能力は、動作周波数を含み、前記プライマリ仮想マシンは、前記プライマリ仮想マシンが使用可能な動作周波数と、前記セカンダリ仮想マシンが使用可能な動作周波数とを収集して、前記プライマリ仮想マシンの動作周波数と、前記セカンダリ仮想マシンの動作周波数とを設定することができる。
また、前記プライマリ仮想マシンは、前記プライマリ仮想マシンが使用するデバイスの動作仕様と、前記セカンダリ仮想マシンが使用するデバイスの動作仕様とが異なる場合に、前記プライマリ仮想マシンが使用するデバイスに対する処理が、前記セカンダリ仮想マシンが使用するデバイスに対する処理と同じになるようにエミュレートすることができる。
このとき、前記プライマリ仮想マシンは、前記デバイスの動作仕様の違いが所定の機能の有無の場合は、前記所定の機能を無効にして、前記プライマリ仮想マシンが使用するデバイスに対する処理が、前記セカンダリ仮想マシンが使用するデバイスに対する処理と同じになるようにエミュレートし、前記デバイスの動作仕様の違いが能力あるいは容量の場合は、動作に相違が生じる処理を前記プライマリゲストOSの外部で実行させることができる。
また、前記セカンダリ仮想マシンは、前記プライマリ仮想マシンが使用するデバイスの動作仕様と、前記セカンダリ仮想マシンが使用するデバイスの動作仕様とが異なる場合に、前記セカンダリ仮想マシンが使用するデバイスに対する処理が、前記プライマリ仮想マシンが使用するデバイスに対する処理と同じになるようにエミュレートすることができる。
あるいは、前記セカンダリ仮想マシンは、前記デバイスの動作仕様の違いが所定の機能の有無の場合は、前記所定の機能を無効にして、前記セカンダリ仮想マシンが使用するデバイスに対する処理が、前記プライマリ仮想マシンが使用するデバイスに対する処理と同じになるようにエミュレートし、前記デバイスの動作仕様の違いが能力あるいは容量の場合は、動作に相違が生じる処理を前記セカンダリゲストOSの外部で実行させることができる。
また、前記セカンダリ仮想マシンは、前記動作能力の設定後であっても、前記プライマリ仮想マシンより実行速度が遅い場合には、遅れの度合いを取得し、取得した値が予め定められた遅延許容時間を超えると、同期初期化処理を行なうことができる。
このとき、前記セカンダリ仮想マシンは、前記取得した遅れの度合いが、想定される量より大きい場合に、故障として検出することができる。
また、前記セカンダリ仮想マシンは、前記動作能力の設定後であっても、前記プライマリ仮想マシンより実行速度が遅い場合には、前記プライマリゲストOSのアイドル時に、擬似割り込み入力タイミングを前倒しすることで、前記プライマリ仮想マシンに対する遅れを取り戻すことができる。
また、前記プライマリ仮想マシンは、前記動作能力の設定後であっても、前記セカンダリ仮想マシンより実行速度が速い場合には、前記セカンダリ仮想マシンの実行速度に合わせて、ウェイトを入れながら動作を行なうことができる。
また、前記セカンダリ仮想マシンは、前記動作能力の設定後であっても、前記プライマリ仮想マシンより実行速度が速い場合には、前記プライマリ仮想マシンの実行速度に合わせて、ウェイトを入れながら動作を行なうことができる。
また、前記プライマリ仮想マシンおよび前記セカンダリ仮想マシンは、それぞれのストレージデバイスの内容を、それぞれの仮想マシンに割り当てられたメモリ上に展開し、ストレージデバイスアクセスをメモリアクセスに置き換えることができる。
このとき、前記プライマリ仮想マシンおよび前記セカンダリ仮想マシンは、前記メモリアクセスを行なうと、アクセス完了の外部割り込みを待つことなく、それぞれのゲストOSに擬似割り込みを入力することができる。
また、前記プライマリ仮想マシンおよび前記セカンダリ仮想マシンは、それぞれのストレージデバイスの内容を、それぞれのゲストOSで設定されたRAMディスクに展開し、ストレージデバイスアクセスをRAMディスクに置き換えることができる。
次に、上記構成のフォールトトレラントシステム10における、プライマリ仮想マシン130とセカンダリ仮想マシン230の実行状態を同期させる並列同期動作の概要について図2のフローチャートを参照して説明する。具体的には、プライマリハイパーバイザ120が、プライマリハードウェア110から外部割り込みを受けた場合の一連の動作について説明する。
次に、フォールトトレラントシステム10の各ブロックの動作について第1実施例、第2実施例、第3実施例により詳細に説明する。
第1実施例として、プライマリマシン100のCPU111とセカンダリマシン200のCPU211とが同じアーキテクチャの場合の動作について説明する。ここで、CPUアーキテクチャが同じとは、CPU命令セットに互換性があることを意味する。
まず、割り込み頻度調整部132が行なう割り込み頻度調整動作(S103)について説明する。プライマリ仮想マシン130の割り込み頻度調整部132は、すべての外部割り込みに対して擬似割り込みの入力を行なうのではなく、アプリケーション150に要求される性能や精度、許容通信ディレイ等を満たす範囲で、擬似割り込みの頻度を調整する。
次に、割り込みタイミング調整部133が行なう擬似割り込みタイミング調整動作(S105)について説明する。擬似割り込みタイミング調整は、セカンダリゲストOS240が同じ位置で中断できるように、プライマリゲストOS140のクリティカルセクションを避けて擬似割り込みを入力するための調整である。
次に、同期情報生成部135が行なう同期情報の生成動作(S107)について説明する。プライマリマシン100のCPU111とセカンダリマシン200のCPU211とが同じアーキテクチャの場合、同期情報の同期タイミング情報における実行中断位置は、CPU命令コードの実行停止位置で示され、プログラムカウンタ値を用いることができる。
次に、指定分岐回数実行部232が行なう指定分岐回数実行動作(S109)について説明する。指定分岐回数実行動作は、セカンダリ仮想マシン230が、同期タイミング情報の分岐回数で示された回数でセカンダリゲストOS240を中断させる動作である。
次に、指定位置コンテキスト切り替え部233が行なう指定位置コンテキスト切り替え動作(S110)について説明する。指定位置コンテキスト切り替え動作は、セカンダリゲストOS240を指定分岐回数で中断した後、指定された実行中断位置で、ブレーク命令を用いずに、セカンダリ仮想マシン230にコンテキストを切り替える動作である。
第2実施例として、プライマリマシン100のCPU111とセカンダリマシン200のCPU211とが異なるアーキテクチャの場合の動作について説明する。ここで、CPUアーキテクチャが異なるとは、CPU命令セットに互換性がないことを意味する。
第1実施例のCPU命令同期モードにおいて、擬似割り込みタイミング調整動作(S105)は、CPUアーキテクチャの詳細が判別している場合と、CPUアーキテクチャの詳細が不明の場合とで処理が異なっていたが、第2実施例の中間言語同期モードでは、CPUアーキテクチャの詳細が判別している場合と同じ処理を行なう。
第1実施例のCPU命令同期モードでは、同期情報の生成動作(S107)において、同期タイミング情報に含まれる実行中断位置は、CPU命令コードの実行停止位置で示し、プログラムカウンタ値を用いた。また、同期タイミング情報に含まれる分岐実行回数は、前回の同期タイミング情報生成時から実行されたCPU命令コードの分岐回数で示した。
第1実施例のCPU命令同期モードでは、指定位置コンテキスト切り替え動作(S110)において、セカンダリ仮想マシン230に専用のコンテキスト切り替え命令が用意されている場合は、セカンダリゲストOS240の実行中断位置に、コンテキスト切り替え命令を埋め込み、専用のコンテキスト切り替え命令が用意されていない場合は、実行中断位置で擬似割り込みやCPU例外のイベントを発生させてコンテキスト切り替えが行なわれるように設定した。第2実施例の中間言語同期モードでも、中間言語レベルの実行中断位置で、CPU命令変換により同様の設定を行なう。
次に、第3実施例として、プライマリマシン100とセカンダリマシン200とのハードウェア構成に相違がある場合の並列同期動作について説明する。プライマリマシン100のプライマリハードウェア110とセカンダリマシン200のセカンダリハードウェア210は、CPU(111、211)、メモリ(112、212)、ストレージ等のデバイス(115、215)等、種々のハードウェアで構成されているが、双方のハードウェアの機能や性能は必ずしも一致するわけではない。
プライマリ仮想マシン130の同期情報生成部135は、プライマリ仮想マシン130とセカンダリ仮想マシン230の並列同期動作に先立ち、セカンダリ仮想マシン230からセカンダリ仮想マシン230に関する動作性能情報を収集する。
あるハードウェア機能を一方の仮想マシン(130、230)だけが持っている場合は、機能を持っている方の仮想マシン(130、230)がその機能を利用しないようにし、双方の仮想マシン(130、230)がそのハードウェア機能を持たない状態で動作する。
ハードウェア機能の能力や容量が異なる場合は、動作に相違が生じる処理をゲストOS(140、240)の外部で実行する。ゲストOS(140、240)の外部とは、仮想マシン(130、230)やハイパーバイザ(120、220)、ハードウェア(110、210)などである。
並列同期動作の開始前の調整によってもプライマリ仮想マシン130とセカンダリ仮想マシン230の処理速度差が解消しきれない場合には、同期情報生成部135、同期補正部235は、並列同期動作時に、以下のような同期補正を行なう。
仮想マシン(130、230)から磁気ディスク、SSD、CD、DVD、テープ等のストレージデバイス(115、215)にアクセスを行なう場合、ストレージデバイス(115、215)の個体差や経年劣化等によりアクセス要求に対する完了待ち時間にばらつきが生じる。このばらつきによる同期ずれを防ぐためには、遅い方の完了待ち時間に合わせる必要があり、同期待ちが発生して実行速度の低下を招くことになる。
仮想マシン(130、230)は、ストレージデバイス(115、215)の内容を仮想マシン(130、230)に割り当てられたメモリ上に展開し、ストレージへのアクセスをメモリアクセスに置き換える。このメモリを「仮想ストレージ」と称する。仮想ストレージの内容が更新された場合は、ゲストOS(140、240)からのアクセスとは非同期にストレージデバイス(115、215)に反映させる。
ゲストOS(140、230)がRAMディスクを利用できる場合は、ストレージデバイス(115、215)のエミュレーションにゲストOS(140、230)で設定されたRAMディスクを使用する。RAMディスクとは、読み書きに対する待ち時間がゼロであり、完了割り込みが発生しないデバイスである。例えば、Linux(登録商標)などのOSでRAMディスクを利用できる。
Claims (15)
- プライマリハイパーバイザが稼働するプライマリマシン上に形成され、前記プライマリハイパーバイザからの外部割り込みに基づく擬似割り込みをプライマリゲストOSに入力するプライマリ仮想マシンと、
セカンダリハイパーバイザが稼働するセカンダリマシン上に形成され、前記プライマリ仮想マシンから伝達された前記擬似割り込みのタイミング情報に基づいて、擬似割り込みをセカンダリゲストOSに入力するセカンダリ仮想マシンと、を備えたフォールトトレラントシステムであって、
前記プライマリ仮想マシンは、
前記セカンダリ仮想マシンから、動作性能情報を収集し、前記プライマリ仮想マシンの動作能力と、前記セカンダリ仮想マシンの動作能力が等しくなるように、前記プライマリ仮想マシンの動作能力と前記セカンダリ仮想マシンの動作能力とを設定し、
前記セカンダリ仮想マシンは、
前記擬似割り込みのタイミング情報が示す実行中断位置で、コンテキスト切り替えを行なうことにより、前記セカンダリゲストOSを中断させることを特徴とするフォールトトレラントシステム。 - 前記プライマリ仮想マシンは、
設定した前記セカンダリ仮想マシンの動作能力を前記セカンダリ仮想マシンに通知し、
前記セカンダリ仮想マシンは、
通知された動作能力に従って動作を行なうことを特徴とする請求項1に記載のフォールトトレラントシステム。 - 前記動作能力は、動作周波数を含み、
前記プライマリ仮想マシンは、
前記プライマリ仮想マシンが使用可能な動作周波数と、前記セカンダリ仮想マシンが使用可能な動作周波数とを収集して、前記プライマリ仮想マシンの動作周波数と、前記セカンダリ仮想マシンの動作周波数とを設定することを特徴とする請求項1または2に記載のフォールトトレラントシステム。 - 前記プライマリ仮想マシンは、
前記プライマリ仮想マシンが使用するデバイスの動作仕様と、前記セカンダリ仮想マシンが使用するデバイスの動作仕様とが異なる場合に、
前記プライマリ仮想マシンが使用するデバイスに対する処理が、前記セカンダリ仮想マシンが使用するデバイスに対する処理と同じになるようにエミュレートすることを特徴とする請求項1〜3のいずれか1項に記載のフォールトトレラントシステム。 - 前記プライマリ仮想マシンは、
前記デバイスの動作仕様の違いが所定の機能の有無の場合は、
前記所定の機能を無効にして、前記プライマリ仮想マシンが使用するデバイスに対する処理が、前記セカンダリ仮想マシンが使用するデバイスに対する処理と同じになるようにエミュレートし、
前記デバイスの動作仕様の違いが能力あるいは容量の場合は、動作に相違が生じる処理を前記プライマリゲストOSの外部で実行させることを特徴とする請求項4に記載のフォールトトレラントシステム。 - 前記セカンダリ仮想マシンは、
前記プライマリ仮想マシンが使用するデバイスの動作仕様と、前記セカンダリ仮想マシンが使用するデバイスの動作仕様とが異なる場合に、
前記セカンダリ仮想マシンが使用するデバイスに対する処理が、前記プライマリ仮想マシンが使用するデバイスに対する処理と同じになるようにエミュレートすることを特徴とする請求項1〜3のいずれか1項に記載のフォールトトレラントシステム。 - 前記セカンダリ仮想マシンは、
前記デバイスの動作仕様の違いが所定の機能の有無の場合は、
前記所定の機能を無効にして、前記セカンダリ仮想マシンが使用するデバイスに対する処理が、前記プライマリ仮想マシンが使用するデバイスに対する処理と同じになるようにエミュレートし、
前記デバイスの動作仕様の違いが能力あるいは容量の場合は、動作に相違が生じる処理を前記セカンダリゲストOSの外部で実行させることを特徴とする請求項6に記載のフォールトトレラントシステム。 - 前記セカンダリ仮想マシンは、
前記動作能力の設定後であっても、前記プライマリ仮想マシンより実行速度が遅い場合には、
遅れの度合いを取得し、取得した値が予め定められた遅延許容時間を超えると、同期初期化処理を行なうことを特徴とする請求項1〜7のいずれか1項に記載のフォールトトレラントシステム。 - 前記セカンダリ仮想マシンは、
前記取得した遅れの度合いが、想定される量より大きい場合に、故障として検出することを特徴とする請求項8に記載のフォールトトレラントシステム。 - 前記セカンダリ仮想マシンは、
前記動作能力の設定後であっても、前記プライマリ仮想マシンより実行速度が遅い場合には、前記プライマリゲストOSのアイドル時に、擬似割り込み入力タイミングを前倒しすることで、前記プライマリ仮想マシンに対する遅れを取り戻すことを特徴とする請求項1〜7のいずれか1項に記載のフォールトトレラントシステム。 - 前記プライマリ仮想マシンは、
前記動作能力の設定後であっても、前記セカンダリ仮想マシンより実行速度が速い場合には、前記セカンダリ仮想マシンの実行速度に合わせて、ウェイトを入れながら動作を行なうことを特徴とする請求項1〜7のいずれか1項に記載のフォールトトレラントシステム。 - 前記セカンダリ仮想マシンは、
前記動作能力の設定後であっても、前記プライマリ仮想マシンより実行速度が速い場合には、前記プライマリ仮想マシンの実行速度に合わせて、ウェイトを入れながら動作を行なうことを特徴とする請求項1〜7のいずれか1項に記載のフォールトトレラントシステム。 - 前記プライマリ仮想マシンおよび前記セカンダリ仮想マシンは、
それぞれのストレージデバイスの内容を、それぞれの仮想マシンに割り当てられたメモリ上に展開し、ストレージデバイスアクセスをメモリアクセスに置き換えることを特徴とする請求項1〜12のいずれか1項に記載のフォールトトレラントシステム。 - 前記プライマリ仮想マシンおよび前記セカンダリ仮想マシンは、
前記メモリアクセスを行なうと、アクセス完了の外部割り込みを待つことなく、それぞれのゲストOSに擬似割り込みを入力することを特徴とする請求項13に記載のフォールトトレラントシステム。 - 前記プライマリ仮想マシンおよび前記セカンダリ仮想マシンは、
それぞれのストレージデバイスの内容を、それぞれのゲストOSで設定されたRAMディスクに展開し、ストレージデバイスアクセスをRAMディスクに置き換えることを特徴とする請求項1〜12のいずれか1項に記載のフォールトトレラントシステム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012204608A JP5700009B2 (ja) | 2012-09-18 | 2012-09-18 | フォールトトレラントシステム |
US14/029,064 US9465634B2 (en) | 2012-09-18 | 2013-09-17 | Fault tolerant system and method for performing fault tolerant |
CN201310430124.9A CN103678024B (zh) | 2012-09-18 | 2013-09-18 | 容错系统和用于执行容错的方法 |
EP13184950.7A EP2709013B1 (en) | 2012-09-18 | 2013-09-18 | Fault tolerant system and method for performing fault tolerant virtual machines synchronization |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012204608A JP5700009B2 (ja) | 2012-09-18 | 2012-09-18 | フォールトトレラントシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014059750A JP2014059750A (ja) | 2014-04-03 |
JP5700009B2 true JP5700009B2 (ja) | 2015-04-15 |
Family
ID=49182171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012204608A Active JP5700009B2 (ja) | 2012-09-18 | 2012-09-18 | フォールトトレラントシステム |
Country Status (4)
Country | Link |
---|---|
US (1) | US9465634B2 (ja) |
EP (1) | EP2709013B1 (ja) |
JP (1) | JP5700009B2 (ja) |
CN (1) | CN103678024B (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6337676B2 (ja) * | 2014-07-29 | 2018-06-06 | 富士通株式会社 | 情報処理システム及び方法 |
US9983917B2 (en) | 2015-11-30 | 2018-05-29 | International Business Machines Corporation | Monitoring and responding to operational conditions of a logical partition from a separate logical partition |
CN105573910B (zh) * | 2015-12-11 | 2018-06-19 | 北京元心科技有限公司 | 受保护系统的应用程序调试方法及智能终端 |
CN106055472A (zh) * | 2016-05-19 | 2016-10-26 | 乐视控股(北京)有限公司 | 进入调试模式的方法、装置及终端设备 |
EP3341838A4 (en) | 2016-05-31 | 2019-05-08 | Avago Technologies International Sales Pte. Limited | HIGH AVAILABILITY FOR VIRTUAL MACHINES |
EP3428748B1 (de) * | 2017-07-13 | 2020-08-26 | Siemens Aktiengesellschaft | Verfahren und anordnung zum betrieb von zwei redundanten systemen |
CN110622478B (zh) * | 2018-04-08 | 2020-11-06 | 华为技术有限公司 | 数据同步处理的方法和装置 |
TWI694699B (zh) * | 2019-01-07 | 2020-05-21 | 瑞昱半導體股份有限公司 | 虛擬機器的通訊方法、電子裝置以及非暫態電腦可讀取記錄媒體 |
US11113094B1 (en) * | 2019-08-28 | 2021-09-07 | Parallels International Gmbh | Physical memory management for virtual machines |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06230992A (ja) * | 1993-02-06 | 1994-08-19 | Hitachi Ltd | 計算機システムおよび計算機システムの障害回復方法 |
US6496847B1 (en) * | 1998-05-15 | 2002-12-17 | Vmware, Inc. | System and method for virtualizing computer systems |
US20010049726A1 (en) * | 2000-06-02 | 2001-12-06 | Guillaume Comeau | Data path engine |
JP2004046599A (ja) * | 2002-07-12 | 2004-02-12 | Nec Corp | フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム |
US20050132364A1 (en) * | 2003-12-16 | 2005-06-16 | Vijay Tewari | Method, apparatus and system for optimizing context switching between virtual machines |
US8572606B1 (en) * | 2005-12-29 | 2013-10-29 | Vmware, Inc. | System and method for avoiding synchronization bugs through virtualization |
JP4871174B2 (ja) | 2007-03-09 | 2012-02-08 | 株式会社日立製作所 | 仮想計算機システム |
US8479195B2 (en) | 2007-05-16 | 2013-07-02 | Vmware, Inc. | Dynamic selection and application of multiple virtualization techniques |
JP4468426B2 (ja) * | 2007-09-26 | 2010-05-26 | 株式会社東芝 | 高可用システム及び実行状態制御方法 |
US10521265B2 (en) * | 2008-09-19 | 2019-12-31 | Microsoft Technology Licensing, Llc | Coalescing periodic timer expiration in guest operating systems in a virtualized environment |
JP4818349B2 (ja) * | 2008-12-24 | 2011-11-16 | 株式会社東芝 | 分散システムおよび同システムの多重化制御方法 |
US9344401B2 (en) * | 2009-02-04 | 2016-05-17 | Citrix Systems, Inc. | Methods and systems for providing translations of data retrieved from a storage system in a cloud computing environment |
JP2011248809A (ja) * | 2010-05-31 | 2011-12-08 | Nec Engineering Ltd | 冗長演算システム |
JP2012070028A (ja) * | 2010-09-21 | 2012-04-05 | Sharp Corp | 画像形成装置 |
US8650564B2 (en) * | 2010-10-19 | 2014-02-11 | Vmware, Inc. | Method and system for synchronizing fault-tolerant virtual machines and adjusting CPU resource limit based on execution latency |
US8621461B1 (en) * | 2010-11-22 | 2013-12-31 | Netapp, Inc. | Virtual machine based operating system simulation using host ram-based emulation of persistent mass storage device |
CN102455951A (zh) * | 2011-07-21 | 2012-05-16 | 中标软件有限公司 | 一种虚拟机容错方法和系统 |
-
2012
- 2012-09-18 JP JP2012204608A patent/JP5700009B2/ja active Active
-
2013
- 2013-09-17 US US14/029,064 patent/US9465634B2/en active Active
- 2013-09-18 EP EP13184950.7A patent/EP2709013B1/en active Active
- 2013-09-18 CN CN201310430124.9A patent/CN103678024B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
EP2709013A1 (en) | 2014-03-19 |
EP2709013B1 (en) | 2015-03-04 |
CN103678024B (zh) | 2016-08-17 |
JP2014059750A (ja) | 2014-04-03 |
CN103678024A (zh) | 2014-03-26 |
US20140082617A1 (en) | 2014-03-20 |
US9465634B2 (en) | 2016-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5700009B2 (ja) | フォールトトレラントシステム | |
JP5630671B2 (ja) | フォールトトレラントシステム | |
EP2810168B1 (en) | Run-time instrumentation sampling in transactional-execution mode | |
US20160283272A1 (en) | Shared resource access control method and apparatus | |
Petrovic et al. | Implementing virtual machine replication: A case study using xen and kvm | |
Li et al. | Quest-V: A virtualized multikernel for high-confidence systems | |
JP5660096B2 (ja) | フォールトトレラントシステム | |
JP5660097B2 (ja) | フォールトトレラントシステム | |
Li et al. | A Performance Evaluation of Embedded Multi-core Mixed-criticality System Based on PREEMPT_RT Linux | |
US20130318310A1 (en) | Processor processing method and processor system | |
Chen et al. | Asymmetric virtual machine replication for low latency and high available service | |
JP4825058B2 (ja) | 計算機のエミュレーション方法 | |
Tsao et al. | Efficient virtualization-based fault tolerance | |
Nikolic et al. | Hard real-time multiprocessor scheduling resilient to core failures | |
Sun | Protection mechanisms for virtual machines on virtualized servers | |
Zangl | Towards heterogeneous deterministic replay for symmetric multiprocessors | |
Dutson | Most Progress Made Algorithm: Combating Synchronization Induced Performance Loss on Salvaged Chip Multi-Processors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140626 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140708 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140821 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150120 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150202 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5700009 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |