[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP6056408B2 - Fault tolerant system - Google Patents

Fault tolerant system Download PDF

Info

Publication number
JP6056408B2
JP6056408B2 JP2012254905A JP2012254905A JP6056408B2 JP 6056408 B2 JP6056408 B2 JP 6056408B2 JP 2012254905 A JP2012254905 A JP 2012254905A JP 2012254905 A JP2012254905 A JP 2012254905A JP 6056408 B2 JP6056408 B2 JP 6056408B2
Authority
JP
Japan
Prior art keywords
computer
physical computer
virtual machine
checkpoint
standby
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
Application number
JP2012254905A
Other languages
Japanese (ja)
Other versions
JP2014102724A (en
Inventor
潤一 松下
潤一 松下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2012254905A priority Critical patent/JP6056408B2/en
Publication of JP2014102724A publication Critical patent/JP2014102724A/en
Application granted granted Critical
Publication of JP6056408B2 publication Critical patent/JP6056408B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Retry When Errors Occur (AREA)
  • Hardware Redundancy (AREA)

Description

本発明は、フォールトトレラントシステム、同期方法、計算機、およびプログラムに関する。   The present invention relates to a fault tolerant system, a synchronization method, a computer, and a program.

可用性を高めた計算機システムとして、ホットスタンバイ構成のHAクラスタ(High availability cluster)、FTサーバ(Fault Tolerant server)が知られている。   As a computer system with high availability, an HA cluster (High availability cluster) and an FT server (Fault Tolerant server) having a hot standby configuration are known.

HAクラスタは、複数台のサーバを相互接続し、システムの冗長化を図る。現在稼動している(稼動系)サーバに障害が発生した場合、待機系として用意されていたサーバが処理を引き継ぐため、クラスタ全体としては異常なく稼動し続けているように見える。主な方式として、アクティブスタンバイ方式とレプリケーション方式とがある。   The HA cluster interconnects a plurality of servers to achieve system redundancy. When a failure occurs in a server that is currently operating (active system), the server that has been prepared as a standby system takes over the processing, so the cluster as a whole seems to continue operating without any problems. The main methods include an active standby method and a replication method.

アクティブスタンバイ方式のHAクラスタでは、運用系と待機系でストレージを共有する。運用系は、待機系を同期させるのに必要な、アプリケーションに依存した情報を共有ストレージに書き、待機系はフェイルオーバー時にこの情報を用いてリカバリを行う。即ち、アクティブスタンバイ方式では、フェイルオーバー時にアプリケーション毎のリカバリ処理が必要になるため、アプリケーションやOSから見て、透過的に可用性を得ることができない。また、フェイルオーバーには時間を要し、その間はサービスが提供できなくなるという問題がある。   In an active standby HA cluster, storage is shared between the active system and the standby system. The active system writes application-dependent information necessary for synchronizing the standby system to the shared storage, and the standby system performs recovery using this information at the time of failover. In other words, in the active standby system, recovery processing for each application is required at the time of failover, and thus availability cannot be obtained transparently from the viewpoint of the application or the OS. Further, there is a problem that it takes time for failover and the service cannot be provided during that time.

レプリケーション方式のHAクラスタでは、運用系と待機系が個別にストレージを持ち、運用系のアプリケーションに到着したリクエストを待機系にも転送することで、待機系に運用系と同じ状態遷移をさせる。一般に、複数の系の状態を一致させることを、同期をとると言う。運用系に障害が発生して停止した場合、待機系のアプリケーションの状態は運用系と同期しているため、運用系を切り離してサービスを継続することができる。しかし、クラスタリングするアプリケーション毎にレプリケーションの仕組みを追加しなければならないため、アプリケーションやOSから見て、透過的に可用性を得ることができない。   In a replication-type HA cluster, the active system and the standby system have separate storages, and a request that arrives at the active system application is transferred to the standby system, thereby causing the standby system to make the same state transition as the active system. In general, matching the states of a plurality of systems is called synchronization. If a failure occurs in the active system and the service is stopped, the status of the standby system application is synchronized with the active system, so the service can be continued by disconnecting the active system. However, since a replication mechanism has to be added for each application to be clustered, availability cannot be obtained transparently from the viewpoint of the application or OS.

またレプリケーション方式のHAクラスタの他の形態が本発明に関連する第1の関連技術として提案されている(例えば特許文献1参照)。この第1の関連技術では、稼働系のOS上で稼働する処理プログラムがメモリ上の処理データを更新すると、その処理データの更新情報を稼働系から待機系へ転送することにより、稼働系と待機系の計算機の処理データを同期させる。また、この第1の関連技術では、待機系の障害に備えるために、待機系を冗長化する。そのために、稼働系は、処理データの更新情報を全ての待機系に転送するようにしている。   Another form of replication-type HA cluster has been proposed as a first related technique related to the present invention (see, for example, Patent Document 1). In this first related technology, when a processing program running on the active OS updates the processing data in the memory, the update information of the processing data is transferred from the active system to the standby system, so that the active system and the standby system Synchronize the processing data of the system computers. In the first related technique, the standby system is made redundant in order to prepare for a failure of the standby system. For this purpose, the active system transfers the update information of the processing data to all the standby systems.

このようにHAクラスタでは、アプリケーションやOSに可用性を意識した仕組みを追加しなければならない。これに対して、FTサーバでは、そのような必要性はない。即ち、FTサーバは、アプリケーションやOSが特別な処理を必要としないで、透過的にサービスを継続することができる。FTサーバを実現する方式は、ハードウェア方式とソフトウェア方式とに大別される。   As described above, in the HA cluster, a mechanism for availability must be added to the application and OS. On the other hand, there is no such need in the FT server. That is, the FT server can continue the service transparently without requiring any special processing by the application or the OS. The methods for realizing the FT server are roughly classified into a hardware method and a software method.

ハードウェア方式のFTサーバは、CPU、メモリ、ストレージなどの主要なハードウェアコンポーネントを冗長化する。CPUやメモリ、チップセットを含むモジュールをCPUサブシステム、各種IOデバイスを含むモジュールをIOサブシステムと呼ぶ。CPUサブシステムとIOサブシステムとで二重化の方式が異なる。CPUサブシステムは、クロック単位でハードウェア的に完全に同期させる。これをロックステップと呼ぶ。両方とも完全に同じ動作をしているので、故障発生時は対象となるCPUサブシステムを論理的に切り離し、正常なCPUサブシステムで動作を続行させる。故に、CPUサブシステムには稼働系、待機系の概念はない。他方、IOサブシステムは、一方を稼働系、他方を待機系として使用し、ソフトウェアによる二重化制御を行う。稼働系のIOサブシステムで故障が発生した場合、これをソフトウェアで検出し、直ちに待機系側に切り替える。ハードウェア方式のFTサーバは、極めて高い可用性を実現することができる。しかし、特殊なハードウェアで構成されるため、同程度の性能を持つPCサーバと比較して導入コストがかかる。   The hardware-type FT server makes main hardware components such as a CPU, a memory, and a storage redundant. A module including a CPU, a memory, and a chip set is referred to as a CPU subsystem, and a module including various IO devices is referred to as an IO subsystem. The duplexing method differs between the CPU subsystem and the IO subsystem. The CPU subsystem is completely synchronized in hardware on a clock basis. This is called a lock step. Since both operate completely the same, when a failure occurs, the target CPU subsystem is logically disconnected, and the operation is continued with a normal CPU subsystem. Therefore, the CPU subsystem has no concept of active system and standby system. On the other hand, the IO subsystem uses one as an active system and the other as a standby system, and performs duplex control by software. When a failure occurs in the active IO subsystem, this is detected by software and immediately switched to the standby side. A hardware-based FT server can realize extremely high availability. However, since it is composed of special hardware, the introduction cost is higher than that of a PC server having similar performance.

ソフトウェア方式のFTサーバは、物理計算機上で複数のOSを動作させることを可能とした仮想化技術を使用する。物理計算機上に仮想的に構築される計算機を、仮想計算機あるいは仮想マシンと呼ぶ。ソフトウェア方式のFTサーバでは、物理計算機を冗長化し、稼働系の仮想計算機と待機系の仮想計算機とをそれぞれ異なる物理計算機上に配置する。稼働系の仮想計算機が属する物理計算機でハードウェアの故障等の障害が発生した場合、その仮想計算機が行っている処理を他の物理計算機上の待機系の仮想計算機で継続して実行する。アプリケーションやOSから見て、透過的にサービスを継続するために、ソフトウェア方式のFTサーバでは、稼働系と待機系の仮想計算機の状態を一致させる処理、すなわち同期を行う。   The software-based FT server uses a virtualization technology that enables a plurality of OSes to operate on a physical computer. A computer virtually constructed on a physical computer is called a virtual computer or a virtual machine. In a software-type FT server, physical computers are made redundant, and an active virtual computer and a standby virtual computer are arranged on different physical computers. When a failure such as a hardware failure occurs in the physical computer to which the active virtual computer belongs, the processing performed by the virtual computer is continuously executed by the standby virtual computer on another physical computer. In order to continue the service transparently from the viewpoint of the application and the OS, the software-type FT server performs processing to match the states of the active and standby virtual machines, that is, synchronization.

稼働系と待機系の仮想計算機を同期させる方式には、主に仮想ロックステップ方式とチェックポイント方式の2つの方式がある。仮想ロックステップ方式は、稼働系の仮想計算機に対する入力を、待機系の仮想計算機に対しても与えることにより、待機系の仮想計算機の状態を稼働系の仮想計算機と同じように遷移させる。仮想計算機間の同期に必要なデータ量が少なくて済む利点がある反面、稼働系と待機系とでCPUの種類が異なると動作しないといった課題がある。   There are mainly two methods for synchronizing the active and standby virtual computers: a virtual lockstep method and a checkpoint method. In the virtual lockstep method, an input to an active virtual machine is also given to a standby virtual machine, and the state of the standby virtual machine is changed in the same manner as the active virtual machine. While there is an advantage that the amount of data necessary for synchronization between virtual machines can be reduced, there is a problem that the CPU does not operate if the type of CPU differs between the active system and the standby system.

他方、チェックポイント方式は、定期的に、稼働系の仮想計算機のイメージ(CPU、メモリ、ストレージなど)を待機系に送り、待機系の仮想計算機の状態を稼働系の仮想計算機の状態に一致させる。チェックポイント方式は、仮想ロックステップ方式と比較して実装が容易であり、CPUの特定の機能に依存しないため、幅広い製品に実装できる利点がある。その反面、仮想計算機のイメージはデータ量が多いため、仮想ロックステップ方式よりも1回の同期にかかるオーバーヘッドが大きいという課題がある。   On the other hand, the checkpoint method periodically sends an image (CPU, memory, storage, etc.) of the active virtual machine to the standby system, and matches the state of the standby virtual machine with the state of the active virtual machine. . The checkpoint method is easier to implement than the virtual lockstep method, and does not depend on a specific function of the CPU. On the other hand, since the image of the virtual computer has a large amount of data, there is a problem that the overhead required for one synchronization is larger than that of the virtual lockstep method.

この課題を解決するために、前回のチェックポイント以降に更新された稼働系の仮想計算機のイメージのみを待機系に送ることが本発明に関連する第2の関連技術として提案されている(例えば非特許文献1参照)。この第2の関連技術では、チェックポイントが到来すると、稼働系の仮想計算機を一旦停止させることでメインメモリへの更新を遮断し、前回のチェックポイント以降に更新のあったメインメモリのページであるダーティページの全てを、メインメモリに設けたバッファにローカルコピーする。そして、ローカルコピーを完了すると、停止させていた稼働系の仮想計算機を再起動し、並行して、上記コピーされたダーティページを上記バッファから待機系へと転送する。   In order to solve this problem, it is proposed as a second related technique related to the present invention to send only the image of the active virtual machine updated since the previous checkpoint to the standby system (for example, non- Patent Document 1). In this second related technique, when a checkpoint arrives, the active virtual machine is temporarily stopped to interrupt the update to the main memory, and the main memory page has been updated since the previous checkpoint. All dirty pages are locally copied to a buffer in the main memory. When the local copy is completed, the active virtual machine that has been stopped is restarted, and in parallel, the copied dirty page is transferred from the buffer to the standby system.

特開2009−217765号公報JP 2009-217765 A

Brendan Cully、外5名、“Remus:High Availability via Asynchronous Virtual Machine Replication”、[online]、[平成24年9月5日検索]、インターネット〈URL:http://www.cs.ubc.ca/~andy/papers/remus-nsdi-final.pdf〉Brendan Cully, 5 others, “Remus: High Availability via Asynchronous Virtual Machine Replication”, [online], [searched on September 5, 2012], Internet <URL: http://www.cs.ubc.ca/ ~ andy / papers / remus-nsdi-final.pdf>

上述したように待機系を冗長化することによって、より高い可用性を得ることができる。しかしながら、待機系を冗長化すると、稼働系の性能が低下する。その理由は、本発明に関連する第1の関連技術の箇所で述べたように、稼働系は、全ての待機系に更新データを送信しなければならないため、一部待機系との間の通信遅延が即、稼働系の処理性能の低下を招くからである。このため、特にチェックポイント方式のFTサーバにおいて待機系を冗長化することを考えた場合、稼働系は、数十msといった短い周期で到来するチェックポイント毎に稼働系の状態を全ての待機系へ送信しなければならないので、稼働系の性能が大幅に低下することになる。   Higher availability can be obtained by making the standby system redundant as described above. However, if the standby system is made redundant, the performance of the active system decreases. The reason for this is that, as described in the first related art related to the present invention, the active system must transmit update data to all the standby systems, and therefore communication with some of the standby systems. This is because the delay causes an immediate decrease in processing performance of the operating system. For this reason, especially when considering the redundancy of the standby system in the FT server of the checkpoint method, the active system transfers the status of the active system to all the standby systems for every checkpoint that arrives in a short cycle of several tens of ms. Since it must be transmitted, the performance of the active system is greatly reduced.

本発明の目的は、上述した課題、すなわち、待機系を冗長化すると稼働系の性能が低下する、という課題を解決するフォールトトレラントシステムを提供することにある。   An object of the present invention is to provide a fault tolerant system that solves the above-described problem, that is, the problem that the performance of an active system decreases when a standby system is made redundant.

本発明の第1の観点に係るフォールトトレラントシステムは、
稼働系の仮想計算機が動作する第1の物理計算機と、前記第1の物理計算機に接続され、第1の待機系の仮想計算機が動作する第2の物理計算機と、前記第2の物理計算機に接続され、第2の待機系の仮想計算機が動作する第3の物理計算機とを有し、
前記第1の物理計算機は、前記稼働系の仮想計算機と前記第1の待機系の仮想計算機との同期を採るタイミングである第1のチェックポイントが検出される毎に、前記稼働系の仮想計算機のスナップショット差分情報を取得して前記第2の物理計算機へ送信し、
前記第2の物理計算機は、前記第1の物理計算機から受信した前記稼働系の仮想計算機のスナップショット差分情報に基づいて、前記第1の待機系の仮想計算機の状態を前記第1のチェックポイント時点の前記稼働系の仮想計算機の状態に一致させ、更に、前記第1の待機系の仮想計算機と前記第2の待機系の仮想計算機との同期を採る第2のチェックポイントが検出される毎に、前記第1の待機系の仮想計算機のスナップショット差分情報を取得して前記第3の物理計算機へ送信し、
前記第3の物理計算機は、前記第2の物理計算機から受信した前記第1の待機系の仮想計算機のスナップショット差分情報に基づいて、前記第2の待機系の仮想計算機の状態を前記第2のチェックポイント時点の前記第1の待機系の仮想計算機の状態に一致させる。
The fault tolerant system according to the first aspect of the present invention is:
A first physical computer on which an active virtual computer operates, a second physical computer connected to the first physical computer and on which a first standby virtual computer operates, and the second physical computer A third physical computer connected and operating a second standby virtual computer;
Each time the first physical computer detects a first checkpoint, which is a timing at which the active virtual computer and the first standby virtual computer are synchronized, the active virtual computer And obtain the snapshot difference information and send it to the second physical computer,
Based on the snapshot difference information of the active virtual machine received from the first physical computer, the second physical computer changes the status of the first standby virtual machine to the first checkpoint. Each time a second checkpoint is detected that matches the state of the active virtual machine at the time and further synchronizes the first standby virtual machine with the second standby virtual machine. In addition, the snapshot difference information of the first standby virtual machine is acquired and transmitted to the third physical machine,
The third physical computer changes the state of the second standby virtual computer based on the snapshot difference information of the first standby virtual computer received from the second physical computer. To match the state of the first standby virtual machine at the time of the checkpoint.

本発明の第2の観点に係る計算機は、
第1および第3の物理計算機に接続され、
第1の待機系の仮想計算機を有し、
前記第1の物理計算機から第1のチェックポイント毎に受信する、前記第1の物理計算機上で稼働する稼働系の仮想計算機のスナップショット差分情報に基づいて、前記第1の待機系の仮想計算機の状態を前記第1のチェックポイント時点の前記稼働系の仮想計算機の状態に一致させ、
前記第1の待機系の仮想計算機と前記第3の物理計算機上で稼働する第2の待機系の仮想計算機との同期を採るタイミングである第2のチェックポイントを検出する毎に、前記第1の待機系の仮想計算機のスナップショット差分情報を取得して前記第3の物理計算機へ送信する。
The computer according to the second aspect of the present invention is:
Connected to the first and third physical computers,
Having a first standby virtual machine,
Based on the snapshot difference information of the active virtual machine operating on the first physical computer received from the first physical computer for each first checkpoint, the first standby virtual machine To match the state of the active virtual machine at the time of the first checkpoint,
Each time a second checkpoint is detected, which is the timing for synchronizing the first standby virtual machine and the second standby virtual machine running on the third physical computer, the first checkpoint is detected. The snapshot difference information of the standby virtual computer is acquired and transmitted to the third physical computer.

本発明の第3の観点に係る同期方法は、
第1および第3の物理計算機に接続され、且つ、第1の待機系の仮想計算機を有する計算機の同期方法であって、
前記第1の物理計算機から第1のチェックポイント毎に受信する、前記第1の物理計算機上で稼働する稼働系の仮想計算機のスナップショット差分情報に基づいて、前記第1の待機系の仮想計算機の状態を前記第1のチェックポイント時点の前記稼働系の仮想計算機の状態に一致させ、
前記第1の待機系の仮想計算機と前記第3の物理計算機上で稼働する第2の待機系の仮想計算機との同期を採るタイミングである第2のチェックポイントを検出する毎に、前記第1の待機系の仮想計算機のスナップショット差分情報を取得して前記第3の物理計算機へ送信する。
The synchronization method according to the third aspect of the present invention includes
A method of synchronizing computers connected to first and third physical computers and having a first standby virtual computer,
Based on the snapshot difference information of the active virtual machine operating on the first physical computer received from the first physical computer for each first checkpoint, the first standby virtual machine To match the state of the active virtual machine at the time of the first checkpoint,
Each time a second checkpoint is detected, which is the timing for synchronizing the first standby virtual machine and the second standby virtual machine running on the third physical computer, the first checkpoint is detected. The snapshot difference information of the standby virtual computer is acquired and transmitted to the third physical computer.

本発明の第4の観点に係るプログラムは、
第1および第3の物理計算機に接続された計算機を、
第1の待機系の仮想計算機として機能させると共に、
前記計算機に、前記第1の物理計算機から第1のチェックポイント毎に受信する、前記第1の物理計算機上で稼働する稼働系の仮想計算機のスナップショット差分情報に基づいて、前記第1の待機系の仮想計算機の状態を前記第1のチェックポイント時点の前記稼働系の仮想計算機の状態に一致させる処理、および、前記第1の待機系の仮想計算機と前記第3の物理計算機上で稼働する第2の待機系の仮想計算機との同期を採るタイミングである第2のチェックポイントを検出する毎に、前記第1の待機系の仮想計算機のスナップショット差分情報を取得して前記第3の物理計算機へ送信する処理
を実行させる。
The program according to the fourth aspect of the present invention is:
A computer connected to the first and third physical computers,
While functioning as a first standby virtual machine,
Based on the snapshot difference information of the active virtual machine operating on the first physical computer received from the first physical computer at each first checkpoint to the computer, the first standby Processing to match the state of the active virtual machine with the state of the active virtual machine at the time of the first checkpoint, and to operate on the first standby virtual machine and the third physical computer Each time the second checkpoint, which is the timing for synchronizing with the second standby virtual machine, is detected, the snapshot difference information of the first standby virtual machine is acquired and the third physical point is acquired. The process to send to the computer is executed.

本発明は上述した構成を有するため、複数の待機系を有しながら稼働系の性能の低下を抑えることができるフォールトトレラントシステムを提供することができる。   Since this invention has the structure mentioned above, it can provide the fault tolerant system which can suppress the fall of the performance of an operation system, having several standby systems.

本発明の第1の実施形態のブロック図である。It is a block diagram of a 1st embodiment of the present invention. 本発明の第1の実施形態における各物理計算機上で実施されるスナップショットの取得と同期の実行とを含む処理の流れを示すシーケンスチャートである。It is a sequence chart which shows the flow of a process including acquisition of the snapshot implemented on each physical computer in the 1st Embodiment of this invention, and execution of a synchronization. 本発明の第1の実施形態における複数の待機系の仮想計算機の状態遷移図である。FIG. 3 is a state transition diagram of a plurality of standby virtual machines according to the first embodiment of this invention. 本発明の第1の実施形態において稼働系障害時のフェイルオーバーの一例を示す概念図である。It is a conceptual diagram which shows an example of the failover at the time of an active system failure in the 1st Embodiment of this invention. 本発明の第1の実施形態において稼働系障害時のフェイルオーバーの他の例を示す概念図である。It is a conceptual diagram which shows the other example of the failover at the time of an active system failure in the 1st Embodiment of this invention. 本発明の第2の実施形態のブロック図である。It is a block diagram of the 2nd Embodiment of this invention. 本発明の第2の実施形態において、メインサイト300に設置される物理計算機310、320の構成例を示すブロック図である。FIG. 6 is a block diagram illustrating a configuration example of physical computers 310 and 320 installed in a main site 300 in the second embodiment of the present invention. 本発明の第2の実施形態において、バックアップサイト400に配置される物理計算機410、420の構成例を示すブロック図である。FIG. 6 is a block diagram illustrating a configuration example of physical computers 410 and 420 arranged in a backup site 400 in the second embodiment of the present invention. 本発明の第2の実施形態の動作を説明するためのシーケンスチャートである。It is a sequence chart for demonstrating the operation | movement of the 2nd Embodiment of this invention. 本発明の第2の実施形態において自物理計算機に対応する仮想計算機が稼働系のときの、スナップショット取得手段、スナップショット送信手段、及び、応答受信手段の処理例を示すフローチャートである。It is a flowchart which shows the process example of a snapshot acquisition means, a snapshot transmission means, and a response reception means when the virtual computer corresponding to a self-physical computer is an active system in the 2nd Embodiment of this invention. 本発明の第2の実施形態における同期手段の処理例を示すフローチャートである。It is a flowchart which shows the process example of the synchronizer in the 2nd Embodiment of this invention. 本発明の第2の実施形態において、自物理計算機に対応する仮想計算機が待機系のときの、スナップショット取得手段、スナップショット送信手段、及び、応答受信手段の処理例を示すフローチャートである。10 is a flowchart illustrating a processing example of a snapshot acquisition unit, a snapshot transmission unit, and a response reception unit when a virtual computer corresponding to the own physical computer is a standby system in the second embodiment of the present invention. 本発明の第2の実施形態のブロック図である。It is a block diagram of the 2nd Embodiment of this invention.

次に本発明の実施形態について図面を参照して詳細に説明する。
[第1の実施形態]
図1を参照すると、本発明の第1の実施形態にかかるフォールトトレラントシステム100は、ハードウェアとして3台の物理計算機110、120、130を有する。また、物理計算機110と物理計算機120とは通信路140を通じて相互に通信可能に接続され、物理計算機120と物理計算機130とは通信路150を通じて相互に通信可能に接続されている。
Next, embodiments of the present invention will be described in detail with reference to the drawings.
[First embodiment]
Referring to FIG. 1, a fault tolerant system 100 according to the first embodiment of the present invention includes three physical computers 110, 120, and 130 as hardware. The physical computer 110 and the physical computer 120 are connected to be able to communicate with each other through a communication path 140, and the physical computer 120 and the physical computer 130 are connected to be able to communicate with each other through a communication path 150.

物理計算機110は、仮想計算機環境を提供するハイパーバイザ111と、このハイパーバイザ111が提供する仮想計算機環境の下で動作する仮想計算機112とを有する。また、物理計算機120は、仮想計算機環境を提供するハイパーバイザ121と、このハイパーバイザ121が提供する仮想計算機環境の下で動作する仮想計算機122とを有する。さらに、物理計算機130は、仮想計算機環境を提供するハイパーバイザ131と、このハイパーバイザ131が提供する仮想計算機環境の下で動作する仮想計算機132とを有する。   The physical computer 110 includes a hypervisor 111 that provides a virtual computer environment, and a virtual computer 112 that operates under the virtual computer environment provided by the hypervisor 111. The physical computer 120 includes a hypervisor 121 that provides a virtual computer environment, and a virtual computer 122 that operates under the virtual computer environment provided by the hypervisor 121. Furthermore, the physical computer 130 includes a hypervisor 131 that provides a virtual computer environment, and a virtual computer 132 that operates under the virtual computer environment provided by the hypervisor 131.

ここで、仮想計算機112は稼働系として動作し、仮想計算機122、132は待機系として動作する。即ち、仮想計算機112が動作する物理計算機110にハードウェア障害等の障害が発生すると、仮想計算機112が行っている処理を物理計算機120上の待機系の仮想計算機122で継続して実行する。また、仮想計算機112が動作する物理計算機110および仮想計算機122が動作する物理計算機120にハードウェア障害等の障害が発生すると、仮想計算機112が行っている処理を物理計算機130上の待機系の仮想計算機132で継続して実行する。   Here, the virtual machine 112 operates as an active system, and the virtual machines 122 and 132 operate as standby systems. That is, when a failure such as a hardware failure occurs in the physical computer 110 on which the virtual computer 112 operates, the processing performed by the virtual computer 112 is continuously executed by the standby virtual computer 122 on the physical computer 120. Further, when a failure such as a hardware failure occurs in the physical computer 110 on which the virtual computer 112 operates and the physical computer 120 on which the virtual computer 122 operates, the processing performed by the virtual computer 112 is performed on the standby system virtual machine on the physical computer 130. It is continuously executed by the computer 132.

物理計算機110のハイパーバイザ111は、スナップショット管理部113とチェックポイント検出部114とを有する。   The hypervisor 111 of the physical computer 110 includes a snapshot management unit 113 and a checkpoint detection unit 114.

チェックポイント検出部114は、稼働系の仮想計算機112と待機系の仮想計算機122との同期を採るタイミングであるチェックポイントを検出する機能を有する。例えば、チェックポイント検出部114は、予め設定された時間周期T1毎にチェックポイントが到来したものと検出する。以下、チェックポイント検出部114が時刻tで検出したチェックポイントをCT1tと記す。   The checkpoint detection unit 114 has a function of detecting a checkpoint that is a timing at which the active virtual machine 112 and the standby virtual machine 122 are synchronized. For example, the checkpoint detection unit 114 detects that a checkpoint has arrived every preset time period T1. Hereinafter, the checkpoint detected by the checkpoint detection unit 114 at time t is referred to as CT1t.

また、スナップショット管理部113は、チェックポイント検出部114でチェックポイントが検出される毎に、稼働系の仮想計算機112のスナップショットを取得して物理計算機110から物理計算機120へ送信するスナップショット取得機能を有する。このスナップショット取得機能では、チェックポイントCT1tにおける仮想計算機112の状態をスナップショットとして取得する。スナップショットとして取得する仮想計算機112の状態は、当該取得したスナップショットに基づいて仮想計算機112の状態を当該スナップショット時点に復元するのに必要なデータ、例えば仮想計算機112に割り当てられているCPUの状態(プログラムカウンタやレジスタの状態)やメモリの状態を含む。   Further, the snapshot management unit 113 acquires a snapshot of the active virtual machine 112 and transmits it from the physical computer 110 to the physical computer 120 every time a checkpoint is detected by the checkpoint detection unit 114. It has a function. With this snapshot acquisition function, the state of the virtual machine 112 at the checkpoint CT1t is acquired as a snapshot. The state of the virtual machine 112 acquired as a snapshot is the data necessary to restore the state of the virtual machine 112 to the time of the snapshot based on the acquired snapshot, for example, the CPU assigned to the virtual machine 112. This includes status (program counter and register status) and memory status.

物理計算機120のハイパーバイザ121は、スナップショット管理部123とチェックポイント検出部124とを有する。   The hypervisor 121 of the physical computer 120 includes a snapshot management unit 123 and a checkpoint detection unit 124.

チェックポイント検出部124は、待機系の仮想計算機122と待機系の仮想計算機132との同期を採るタイミングであるチェックポイントを検出する機能を有する。例えば、チェックポイント検出部124は、予め設定された時間周期T2毎にチェックポイントが到来したものと検出する。ここで、時間周期T2は、上述した時間周期T1と同じか、或いは長い周期として設定される。即ち、T2≧T1である。以下、チェックポイント検出部124が時刻tで検出したチェックポイントをCT2tと記す。   The checkpoint detection unit 124 has a function of detecting a checkpoint that is a timing at which the standby virtual machine 122 and the standby virtual machine 132 are synchronized. For example, the checkpoint detection unit 124 detects that a checkpoint has arrived every preset time period T2. Here, the time period T2 is set to be the same as or longer than the time period T1 described above. That is, T2 ≧ T1. Hereinafter, the checkpoint detected by the checkpoint detection unit 124 at time t is referred to as CT2t.

また、スナップショット管理部123は、物理計算機110から受信した稼働系の仮想計算機112のスナップショットに基づいて、待機系の仮想計算機122の状態を稼働系の仮想計算機112の状態に一致させる同期機能と、チェックポイント検出部124でチェックポイントが検出される毎に、待機系の仮想計算機122のスナップショットを取得して物理計算機120から物理計算機130へ送信するスナップショット取得機能とを有する。上記同期機能では、物理計算機110から受信した稼働系の仮想計算機112のチェックポイントCT1t時点のスナップショットに基づいて、待機系の仮想計算機122の状態をチェックポイントCT1t時点の稼働系の仮想計算機112の状態に一致させる。また、上記スナップショット取得機能では、チェックポイントCT2tにおける仮想計算機122の状態をスナップショットとして取得する。   The snapshot management unit 123 also synchronizes the state of the standby virtual machine 122 with the state of the active virtual machine 112 based on the snapshot of the active virtual machine 112 received from the physical computer 110. And a snapshot acquisition function for acquiring a snapshot of the standby virtual machine 122 and transmitting it from the physical computer 120 to the physical machine 130 each time a checkpoint is detected by the checkpoint detection unit 124. In the synchronization function, based on the snapshot at the time of checkpoint CT1t of the active virtual machine 112 received from the physical computer 110, the state of the standby virtual machine 122 is changed to that of the active virtual machine 112 at the time of checkpoint CT1t. Match the state. The snapshot acquisition function acquires the state of the virtual machine 122 at the checkpoint CT2t as a snapshot.

物理計算機130のハイパーバイザ131は、スナップショット管理部133を有する。スナップショット管理部133は、物理計算機120から受信した待機系の仮想計算機122のスナップショットに基づいて、待機系の仮想計算機132の状態を待機系の仮想計算機122の状態に一致させる同期機能を有する。より具体的には、物理計算機120から受信した待機系の仮想計算機122のチェックポイントCT2t時点のスナップショットに基づいて、待機系の仮想計算機132の状態をチェックポイントCT2t時点の待機系の仮想計算機122の状態に一致させる。   The hypervisor 131 of the physical computer 130 has a snapshot management unit 133. The snapshot management unit 133 has a synchronization function for matching the state of the standby virtual computer 132 with the state of the standby virtual computer 122 based on the snapshot of the standby virtual computer 122 received from the physical computer 120. . More specifically, based on the snapshot at the checkpoint CT2t of the standby virtual machine 122 received from the physical computer 120, the status of the standby virtual machine 132 is changed to the standby virtual machine 122 at the checkpoint CT2t. Match the state of.

次に本実施形態にかかるフォールトトレラントシステム100の動作を説明する。図2は、本実施形態の各物理計算機上で実施されるスナップショットの取得と同期の実行とを含む処理の流れを示すシーケンスチャートである。   Next, operation | movement of the fault tolerant system 100 concerning this embodiment is demonstrated. FIG. 2 is a sequence chart showing the flow of processing including snapshot acquisition and execution of synchronization performed on each physical computer of the present embodiment.

物理計算機110のハイパーバイザ111が有するチェックポイント検出部114は、時間周期T1の間隔でチェックポイントCP1tを検出する。図2には、時刻t1、t3、t5のそれぞれで、チェックポイント検出部114がチェックポイントCT1t1、CT1t3、CT1t5を検出している。各々のチェックポイント時点では、以下のような処理が行われる。   The checkpoint detector 114 included in the hypervisor 111 of the physical computer 110 detects the checkpoint CP1t at intervals of the time period T1. In FIG. 2, the checkpoint detection unit 114 detects checkpoints CT1t1, CT1t3, and CT1t5 at times t1, t3, and t5, respectively. At each checkpoint, the following processing is performed.

時刻t1において、チェックポイント検出部114がチェックポイントCP1t1を検出すると、自ハイパーバイザ111のスナップショット管理部113へ当該チェックポイントCP1t1を通知する(S11)。スナップショット管理部113は、自物理計算機110上の稼働系の仮想計算機112の時刻t1時点の状態をスナップショットとして取得し(S12)、通信路140を通じて物理計算機120へ送信する(S13)。物理計算機120のハイパーバイザ121が有するスナップショット管理部123は、物理計算機110から送信されてきた上記スナップショットを受信すると、当該受信したスナップショットに基づき、自物理計算機120上の待機系の仮想計算機122の状態を時刻t1時点の稼働系の仮想計算機112の状態に一致させる(S14)。   When the checkpoint detection unit 114 detects the checkpoint CP1t1 at time t1, the checkpoint CP1t1 is notified to the snapshot management unit 113 of the own hypervisor 111 (S11). The snapshot management unit 113 acquires the state at the time t1 of the active virtual machine 112 on the own physical machine 110 as a snapshot (S12), and transmits it to the physical machine 120 through the communication path 140 (S13). When the snapshot management unit 123 included in the hypervisor 121 of the physical computer 120 receives the above-described snapshot transmitted from the physical computer 110, the snapshot management unit 123 of the standby computer on the own physical computer 120 is received based on the received snapshot. The state of 122 is matched with the state of the active virtual machine 112 at time t1 (S14).

また時刻t3において、チェックポイント検出部114がチェックポイントCP1t3を検出すると、時刻t1において実行された上記処理S11〜S14と同様の処理S21〜S24が実行されることにより、物理計算機120上の待機系の仮想計算機122の状態が時刻t3時点の稼働系の仮想計算機112の状態に一致させられる。   Further, when the checkpoint detection unit 114 detects the checkpoint CP1t3 at time t3, processes S21 to S24 similar to the processes S11 to S14 executed at time t1 are executed, so that the standby system on the physical computer 120 is executed. The state of the virtual machine 122 is made to match the state of the active virtual machine 112 at the time t3.

さらに時刻t5において、チェックポイント検出部114がチェックポイントCP1t5を検出すると、時刻t1またはt3において実行された上記処理S11〜S14またはS21〜S24と同様の処理S31〜S34が実行されることにより、物理計算機120上の待機系の仮想計算機122の状態が時刻t5時点の稼働系の仮想計算機112の状態に一致させられる。   Further, when the checkpoint detection unit 114 detects the checkpoint CP1t5 at time t5, the processes S31 to S34 similar to the processes S11 to S14 or S21 to S24 executed at the time t1 or t3 are executed, so that the physical The state of the standby virtual computer 122 on the computer 120 is matched with the state of the active virtual computer 112 at time t5.

他方、物理計算機120のハイパーバイザ121が有するチェックポイント検出部124は、時間周期T2の間隔でチェックポイントCP2tを検出する。図2には、時刻t2、t4のそれぞれで、チェックポイント検出部124がチェックポイントCT2t2、CT2t4を検出している。ここで、t1<t2<t3<t4<t5である。各々のチェックポイント時点では、以下のような処理が行われる。   On the other hand, the checkpoint detector 124 included in the hypervisor 121 of the physical computer 120 detects the checkpoint CP2t at intervals of the time period T2. In FIG. 2, the checkpoint detection unit 124 detects checkpoints CT2t2 and CT2t4 at times t2 and t4, respectively. Here, t1 <t2 <t3 <t4 <t5. At each checkpoint, the following processing is performed.

時刻t2において、チェックポイント検出部124がチェックポイントCP2t2を検出すると、自ハイパーバイザ121のスナップショット管理部123へ当該チェックポイントCP2t2を通知する(S15)。スナップショット管理部123は、自物理計算機120上の待機系の仮想計算機122の時刻t2時点の状態をスナップショットとして取得し(S16)、通信路150を通じて物理計算機130へ送信する(S17)。物理計算機130のハイパーバイザ131が有するスナップショット管理部133は、物理計算機120から送信されてきた上記スナップショットを受信すると、当該受信したスナップショットに基づき、自物理計算機130上の待機系の仮想計算機132の状態を時刻t2時点の待機系の仮想計算機122の状態に一致させる(S18)。   When the checkpoint detection unit 124 detects the checkpoint CP2t2 at time t2, the checkpoint CP2t2 is notified to the snapshot management unit 123 of the own hypervisor 121 (S15). The snapshot management unit 123 acquires the state at the time t2 of the standby virtual machine 122 on the own physical computer 120 as a snapshot (S16), and transmits it to the physical computer 130 through the communication path 150 (S17). When the snapshot management unit 133 included in the hypervisor 131 of the physical computer 130 receives the snapshot transmitted from the physical computer 120, the snapshot virtual unit 133 on the own physical computer 130 is based on the received snapshot. The state of 132 is matched with the state of the standby virtual machine 122 at time t2 (S18).

また時刻t4において、チェックポイント検出部124がチェックポイントCP2t4を検出すると、時刻t2において実行された上記処理S15〜S18と同様の処理S25〜S28が実行されることにより、物理計算機130上の待機系の仮想計算機132の状態が時刻t4時点の待機系の仮想計算機122の状態に一致させられる。   Further, when the checkpoint detection unit 124 detects the checkpoint CP2t4 at time t4, processes S25 to S28 similar to the processes S15 to S18 executed at time t2 are executed, so that the standby system on the physical computer 130 is executed. The state of the virtual computer 132 is matched with the state of the standby virtual computer 122 at time t4.

図3は、待機系の仮想計算機122、132の状態遷移図である。待機系の仮想計算機122は、稼働系の仮想計算機112の時刻t1の状態、時刻t3の状態、時刻t5の状態へと順に遷移する。他方、待機系の仮想計算機132は、待機系の仮想計算機122の時刻t2の状態、時刻t4の状態へと順に遷移する。ここで、待機系の仮想計算機122の状態は、稼働系の仮想計算機112の或る時点の状態であるから、待機系の仮想計算機132の状態は、待機系の稼働計算機122の或る時点の状態であると同時に、稼働系の仮想計算機112の或る時点の状態であるとも言える。従って、待機系の仮想計算機122の時刻t2、t4時点の状態が、稼働系の仮想計算機112の時刻t1、t3時点の状態である場合、待機系の仮想計算機132は、稼働系の仮想計算機112の時刻t1の状態、時刻t3の状態へと順に遷移する。これによって、仮想計算機122と仮想計算機132との双方が、稼働系の仮想計算機112の待機系となる。   FIG. 3 is a state transition diagram of the standby virtual machines 122 and 132. The standby virtual machine 122 transitions in order from the active virtual machine 112 to the state at time t1, the state at time t3, and the state at time t5. On the other hand, the standby virtual machine 132 transitions in turn from the standby virtual machine 122 to the state at time t2 and to the state at time t4. Here, since the state of the standby virtual machine 122 is a state at a certain time of the active virtual machine 112, the state of the standby virtual machine 132 is the state of the standby system active computer 122 at a certain time. At the same time, it can be said that the operating virtual computer 112 is in a state at a certain point in time. Accordingly, when the standby virtual machine 122 at the time t2 and the time t4 is the active virtual machine 112 at the time t1 and the time t3, the standby virtual machine 132 is set to the active virtual machine 112. Transition to the state at time t1 and the state at time t3. As a result, both the virtual machine 122 and the virtual machine 132 become standby systems for the active virtual machine 112.

従って、例えば図4に示されるように、物理計算機110にハードウェア障害等の障害が発生した場合、物理計算機110の稼働系の仮想計算機112が行っている処理を物理計算機120上の待機系の仮想計算機122で継続して実行するフェイルオーバーが可能である。   Therefore, for example, as shown in FIG. 4, when a failure such as a hardware failure occurs in the physical computer 110, the processing performed by the virtual computer 112 in the active system of the physical computer 110 is processed in the standby system on the physical computer 120. Failover that is continuously executed by the virtual machine 122 is possible.

また、例えば図5に示されるように、時刻t5以降に物理計算機110および物理計算機120の双方にハードウェア障害等の障害が発生した場合、物理計算機110の稼働系の仮想計算機112が行っている処理を物理計算機130上の待機系の仮想計算機132で継続して実行するフェイルオーバーが可能である。   For example, as illustrated in FIG. 5, when a failure such as a hardware failure occurs in both the physical computer 110 and the physical computer 120 after time t5, the active virtual computer 112 of the physical computer 110 performs the failure. Failover in which processing is continuously executed by the standby virtual computer 132 on the physical computer 130 is possible.

このように本実施形態によれば、複数の待機系を有しながら稼働系の性能の低下を抑えることができるフォールトトレラントシステムを提供することができる。その理由は、稼働系の仮想計算機112を有する物理計算機110は、所定のチェックポイント毎に稼働系の仮想計算機112のスナップショットを取得して物理計算機120に送信すれば、当該物理計算機120上に待機系の仮想計算機122を生成することができ、他の待機系の仮想計算機132は、物理計算機120の自律的な動作によって他の物理計算機130上に生成されるためである。   As described above, according to the present embodiment, it is possible to provide a fault tolerant system that has a plurality of standby systems and can suppress a decrease in performance of the active system. The reason is that if the physical computer 110 having the active virtual computer 112 acquires a snapshot of the active virtual computer 112 for each predetermined checkpoint and transmits it to the physical computer 120, the physical computer 110 will be on the physical computer 120. This is because the standby virtual computer 122 can be generated and the other standby virtual computer 132 is generated on the other physical computer 130 by the autonomous operation of the physical computer 120.

[第2の実施形態]
次に、本発明にかかるフォールトトレラントシステムの第2の実施形態について詳細に説明する。本実施形態にかかるフォールトトレラントシステムは、遠隔地バックアップ方式によりディザスタリカバリを実現する。
[Second Embodiment]
Next, a second embodiment of the fault tolerant system according to the present invention will be described in detail. The fault tolerant system according to the present embodiment realizes disaster recovery by a remote backup method.

図6を参照すると、本発明の第2の実施形態にかかるフォールトトレラントシステム200は、ハードウェアとしてメインサイト300に設置された2台の物理計算機310、320と、メインサイト300から地理的に離れたバックアップサイト400に設置された2台の物理計算機410、420とを有する。また、物理計算機310と物理計算機320とは通信路330を通じて相互に通信可能に接続され、物理計算機320と物理計算機410とはWAN(Wide Area Network)等のネットワーク400を通じて相互に通信可能に接続され、物理計算機410と物理計算機420とは通信路430を通して相互に通信可能に接続されている。ここで、通信路330、430は、ネットワーク500に比較して高速かつ広帯域の通信路である。   Referring to FIG. 6, a fault tolerant system 200 according to the second embodiment of the present invention includes two physical computers 310 and 320 installed at the main site 300 as hardware and a backup geographically separated from the main site 300. And two physical computers 410 and 420 installed at the site 400. Further, the physical computer 310 and the physical computer 320 are connected to be able to communicate with each other through a communication path 330, and the physical computer 320 and the physical computer 410 are connected to be able to communicate with each other through a network 400 such as a WAN (Wide Area Network). The physical computer 410 and the physical computer 420 are connected to each other through a communication path 430 so that they can communicate with each other. Here, the communication paths 330 and 430 are high-speed and broadband communication paths compared to the network 500.

図7を参照すると、メインサイト300に設置された物理計算機310、320は、それぞれ仮想計算機環境を提供するハイパーバイザ311、321と、このハイパーバイザ311、321が提供する仮想計算機環境の下で動作する仮想計算機312、322とを有する。また、図8を参照すると、バックアップサイト400に設置された物理計算機410、420は、それぞれ仮想計算機環境を提供するハイパーバイザ411、421と、このハイパーバイザ411、421が提供する仮想計算機環境の下で動作する仮想計算機412、422とを有する。   Referring to FIG. 7, the physical computers 310 and 320 installed in the main site 300 operate under a hypervisor 311 and 321 that provide a virtual computer environment and a virtual computer environment provided by the hypervisor 311 and 321, respectively. Virtual computers 312 and 322. Referring to FIG. 8, the physical computers 410 and 420 installed at the backup site 400 are respectively hypervisors 411 and 421 that provide virtual computer environments, and virtual computer environments provided by the hypervisors 411 and 421. Virtual machines 412 and 422 operating in

ここで、仮想計算機312は稼働系として動作し、仮想計算機322、412、422は待機系として動作する。即ち、仮想計算機312が動作する物理計算機310にハードウェア障害等の障害が発生すると、仮想計算機312が行っている処理を物理計算機320上の仮想計算機322で継続して実行する。更に、物理計算機320に障害が発生すると、仮想計算機322が実行している処理を、バックアップサイト400に設置されている物理計算機410上の仮想計算機412で継続して実行する。更に、物理計算機410に障害が発生すると、仮想計算機412が行っている処理を物理計算機420上の仮想計算機422で継続して実行する。   Here, the virtual machine 312 operates as an active system, and the virtual machines 322, 412, and 422 operate as standby systems. That is, when a failure such as a hardware failure occurs in the physical computer 310 on which the virtual computer 312 operates, the processing performed by the virtual computer 312 is continuously executed by the virtual computer 322 on the physical computer 320. Further, when a failure occurs in the physical computer 320, the processing executed by the virtual computer 322 is continuously executed by the virtual computer 412 on the physical computer 410 installed in the backup site 400. Further, when a failure occurs in the physical computer 410, the processing performed by the virtual computer 412 is continuously executed by the virtual computer 422 on the physical computer 420.

メインサイト300に設置された物理計算機310のハイパーバイザ311は、スナップショット管理部313と、チェックポイント検出部314とを有する。   The hypervisor 311 of the physical computer 310 installed in the main site 300 includes a snapshot management unit 313 and a checkpoint detection unit 314.

チェックポイント検出部314は、仮想計算機312と仮想計算機322との同期を採るためのタイミングであるチェックポイントを検出する機能を有する。例えば、チェックポイント検出部314は、予め定められている時間周期Tcp1毎にチェックポイントが到来したものと検出する。   The checkpoint detection unit 314 has a function of detecting a checkpoint that is a timing for synchronizing the virtual machine 312 and the virtual machine 322. For example, the checkpoint detection unit 314 detects that a checkpoint has arrived every predetermined time period Tcp1.

スナップショット管理部313は、スナップショット取得手段315と、スナップショット送信手段316と、応答受信手段317とを有する。   The snapshot management unit 313 includes a snapshot acquisition unit 315, a snapshot transmission unit 316, and a response reception unit 317.

スナップショット取得手段315は、チェックポイント検出部314がチェックポイントを検出する毎に、仮想計算機312の動作を停止させる機能や、前回のチェックポイントにおける仮想計算機312の状態を示すスナップショットと今回のチェックポイントにおける仮想計算機312の状態を示すスナップショットとの差分を示す差分情報(スナップショット差分情報)を取得する機能を有する。   The snapshot acquisition unit 315 has a function of stopping the operation of the virtual machine 312 each time the checkpoint detection unit 314 detects a checkpoint, a snapshot indicating the state of the virtual machine 312 at the previous checkpoint, and the current check. It has a function of acquiring difference information (snapshot difference information) indicating a difference from a snapshot indicating the state of the virtual computer 312 at the point.

スナップショット送信手段316は、スナップショット取得手段315が取得したスナップショット差分情報を、通信路330を介して物理計算機320へ送信する機能を有する。   The snapshot transmission unit 316 has a function of transmitting the snapshot difference information acquired by the snapshot acquisition unit 315 to the physical computer 320 via the communication path 330.

応答受信手段317は、スナップショット差分情報を正常受信したことを示す応答信号が物理計算機320から送られてきたとき、仮想計算機312を起動する機能を有する。   The response receiving unit 317 has a function of starting the virtual computer 312 when a response signal indicating that the snapshot difference information has been normally received is transmitted from the physical computer 320.

スナップショット管理部313、及び、チェックポイント検出部314はコンピュータによって実現可能であり、その場合は、例えば次のようにする。コンピュータをスナップショット管理部313、及び、チェックポイント検出部314として機能させるためのプログラムを記録したディスク、半導体メモリ、その他の記録媒体を用意し、コンピュータに上記プログラムを読み取らせる。コンピュータは、読み取ったプログラムに従って自身の動作を制御することにより、自コンピュータ上にスナップショット管理部313、及び、チェックポイント検出部314を実現する。   The snapshot management unit 313 and the checkpoint detection unit 314 can be realized by a computer. In this case, for example, the following is performed. A disk, a semiconductor memory, and other recording media on which a program for causing the computer to function as the snapshot management unit 313 and the checkpoint detection unit 314 are prepared are prepared, and the computer is caused to read the program. The computer controls the operation of itself according to the read program, thereby realizing the snapshot management unit 313 and the checkpoint detection unit 314 on the computer.

また、物理計算機320のハイパーバイザ321は、スナップショット管理部323と、チェックポイント検出部324とを有する。   Further, the hypervisor 321 of the physical computer 320 includes a snapshot management unit 323 and a checkpoint detection unit 324.

チェックポイント検出部324は、仮想計算機322と仮想計算機412との同期を採るタイミングであるチェックポイントを検出する機能を有する。例えば、チェックポイント検出部324は、予め定められている時間周期Tcp2毎にチェックポイントが到来したものと検出する。なお、上記時間周期Tcp2は、上述した時間周期Tcp1と同じ周期か、或いはよりも長い周期(Tcp2≧Tcp1)として設定される。   The checkpoint detection unit 324 has a function of detecting a checkpoint that is a timing at which the virtual machine 322 and the virtual machine 412 are synchronized. For example, the checkpoint detection unit 324 detects that a checkpoint has arrived every predetermined time period Tcp2. The time period Tcp2 is set as the same period as the above-described time period Tcp1 or a longer period (Tcp2 ≧ Tcp1).

スナップショット管理部323は、スナップショット取得手段325と、スナップショット送信手段326と、応答受信手段327と、同期手段328とを有する。   The snapshot management unit 323 includes a snapshot acquisition unit 325, a snapshot transmission unit 326, a response reception unit 327, and a synchronization unit 328.

スナップショット取得手段325は、仮想計算機322が稼働系になっている場合と、待機系になっている場合とで異なる処理を行う。仮想計算機322が稼働系になっている場合は、チェックポイント検出部324でチェックポイントが検出される毎に、仮想計算機322を停止させ、その後、仮想計算機322についてのスナップショット差分情報を取得する。また、待機系になっている場合は、チェックポイント検出部324でチェックポイントが検出される毎に、仮想計算機322についてのスナップショット差分情報を取得する。   The snapshot acquisition unit 325 performs different processing depending on whether the virtual machine 322 is an active system or a standby system. When the virtual machine 322 is in the active system, the virtual machine 322 is stopped every time a checkpoint is detected by the checkpoint detection unit 324, and then snapshot difference information about the virtual machine 322 is acquired. If the check point is detected by the check point detection unit 324, the snapshot difference information for the virtual computer 322 is acquired.

スナップショット送信手段326は、スナップショット取得手段325が取得したスナップショット差分情報を、ネットワーク500を介して物理計算機410へ送信する機能を有する。   The snapshot transmission unit 326 has a function of transmitting the snapshot difference information acquired by the snapshot acquisition unit 325 to the physical computer 410 via the network 500.

応答受信手段327は、仮想計算機322が稼働系になっている場合と、待機系になっている場合とで異なる処理を行う。仮想計算機322が稼働系になっている場合は、物理計算機410から送られてくる応答信号を受信することにより、仮想計算機322を起動し、その後、制御をスナップショット取得手段325に渡す。また、仮想計算機322が待機系になっている場合は、物理計算機410から送られてくる応答信号を受信することにより、制御をスナップショット取得手段325に渡す。   The response receiving unit 327 performs different processing depending on whether the virtual computer 322 is an active system or a standby system. When the virtual computer 322 is in the active system, the virtual computer 322 is activated by receiving a response signal sent from the physical computer 410, and then control is passed to the snapshot acquisition means 325. When the virtual computer 322 is in a standby system, control is transferred to the snapshot acquisition unit 325 by receiving a response signal sent from the physical computer 410.

同期手段328は、物理計算機310から送られてくる仮想計算機312についてのスナップショット差分情報を正常受信したとき、そのことを示す応答信号を物理計算機310へ送信する機能や、受信したスナップショット差分情報に基づいて、待機系の仮想計算機322の状態を稼働系の仮想計算機312の最新のチェックポイント時の状態と一致させる機能を有する。   The synchronization unit 328 has a function of transmitting a response signal indicating that to the physical computer 310 when the snapshot difference information about the virtual computer 312 sent from the physical computer 310 is normally received, and the received snapshot difference information. Based on the above, the state of the standby virtual machine 322 is matched with the state at the latest checkpoint of the active virtual machine 312.

なお、スナップショット管理部323、及び、チェックポイント検出部324は、前述したと同様にして、コンピュータによって実現することができる。   Note that the snapshot management unit 323 and the checkpoint detection unit 324 can be realized by a computer in the same manner as described above.

一方、図8を参照すると、バックアップサイト400に設置された物理計算機410のハイパーバイザ411は、スナップショット管理部413と、チェックポイント検出部414とを有する。   On the other hand, referring to FIG. 8, the hypervisor 411 of the physical computer 410 installed at the backup site 400 includes a snapshot management unit 413 and a checkpoint detection unit 414.

チェックポイント検出部414は、仮想計算機412と仮想計算機422との同期を採るタイミングであるチェックポイントを検出する機能を有する。例えば、チェックポイント検出部414は、予め定められた所定の時間周期Tcp3毎にチェックポイントが到来したものと検出する。なお、上記時間周期Tcp3は、上述した時間周期Tcp2と同じか、或いはよりも長い周期(Tcp3≧Tcp2)として設定される。   The checkpoint detection unit 414 has a function of detecting a checkpoint that is a timing at which the virtual machine 412 and the virtual machine 422 are synchronized. For example, the checkpoint detection unit 414 detects that a checkpoint has arrived every predetermined time period Tcp3. The time period Tcp3 is set as a period (Tcp3 ≧ Tcp2) that is the same as or longer than the above-described time period Tcp2.

スナップショット管理部413は、スナップショット取得手段415と、スナップショット送信手段416と、応答受信手段417と、同期手段418とを有する。   The snapshot management unit 413 includes a snapshot acquisition unit 415, a snapshot transmission unit 416, a response reception unit 417, and a synchronization unit 418.

スナップショット取得手段415は、仮想計算機412が稼働系になっている場合と、待機系になっている場合とで異なる処理を行う。仮想計算機412が稼働系になっている場合は、チェックポイント検出部414でチェックポイントが検出される毎に、仮想計算機412を停止させ、その後、仮想計算機412についてのスナップショット差分情報を取得する。また、待機系になっている場合は、チェックポイント検出部414でチェックポイントが検出される毎に、仮想計算機412についてのスナップショット差分情報を取得する。   The snapshot acquisition unit 415 performs different processing depending on whether the virtual machine 412 is an active system or a standby system. When the virtual machine 412 is in the active system, the virtual machine 412 is stopped every time a checkpoint is detected by the checkpoint detection unit 414, and thereafter, snapshot difference information about the virtual machine 412 is acquired. If the check point is detected by the check point detection unit 414, the snapshot difference information about the virtual machine 412 is acquired.

スナップショット送信手段416は、スナップショット取得手段415が取得したスナップショット差分情報を、通信路430を介して物理計算機420へ送信する機能を有する。   The snapshot transmission unit 416 has a function of transmitting the snapshot difference information acquired by the snapshot acquisition unit 415 to the physical computer 420 via the communication path 430.

応答受信手段417は、仮想計算機412が稼働系になっている場合と、待機系になっている場合とで異なる処理を行う。仮想計算機412が稼働系になっている場合は、物理計算機420から送られてくる応答信号を受信することにより、仮想計算機412を起動し、その後、制御をスナップショット取得手段415に渡す。また、仮想計算機412が待機系になっている場合は、物理計算機420から送られてくる応答信号を受信することにより、制御をスナップショット取得手段415に渡す。   The response receiving unit 417 performs different processing depending on whether the virtual computer 412 is in the active system or the standby system. When the virtual machine 412 is in the active system, the virtual machine 412 is activated by receiving a response signal sent from the physical machine 420, and then the control is passed to the snapshot acquisition unit 415. When the virtual machine 412 is in a standby system, control is passed to the snapshot acquisition unit 415 by receiving a response signal sent from the physical machine 420.

同期手段418は、物理計算機320からの仮想計算機322についてのスナップショット差分情報を正常受信したとき、物理計算機320に対して応答信号を返す機能や、受信したスナップショット差分情報に基づいて、仮想計算機412の状態を仮想計算機322の最新のチェックポイント時の状態に一致させる機能を有する。   The synchronization unit 418 is configured to return a response signal to the physical computer 320 when the snapshot difference information for the virtual computer 322 from the physical computer 320 is normally received, or based on the received snapshot difference information. A function of matching the state of 412 with the state at the latest checkpoint of the virtual machine 322 is provided.

なお、スナップショット管理部413、及び、チェックポイント検出部414は、前述したと同様にしてコンピュータによって実現することができる。   The snapshot management unit 413 and the checkpoint detection unit 414 can be realized by a computer in the same manner as described above.

また、物理計算機420のハイパーバイザ421が備えているスナップショット管理部423は、同期手段428を有する。   The snapshot management unit 423 provided in the hypervisor 421 of the physical computer 420 includes a synchronization unit 428.

同期手段428は、物理計算機410から送られてきた仮想計算機412についてのスナップショット差分情報を正常受信したとき、応答信号を物理計算機410に返す機能や、受信したスナップショット差分情報に基づいて、仮想計算機422の状態を仮想計算機412の最新のチェックポイント時の状態に一致させる機能を有する。   The synchronization unit 428 performs virtual response based on the function of returning a response signal to the physical computer 410 when the snapshot difference information about the virtual computer 412 sent from the physical computer 410 is normally received, and the received snapshot difference information. It has a function of matching the state of the computer 422 with the state of the virtual computer 412 at the latest checkpoint.

なお、スナップショット管理部423は、前述したと同様にして、コンピュータによって実現可能である。   The snapshot management unit 423 can be realized by a computer in the same manner as described above.

次に、図9〜図12を参照して本実施形態にかかるフォールトトレラントシステム200の動作を説明する。なお、図9は物理計算機320、410、420上の仮想計算機322、412、422の状態遷移を説明するためのシーケンスチャート、図10は仮想計算機312、322、412が稼働系になっているときのスナップショット管理部313、323、413の処理例を示すフローチャート、図11は同期手段328、418、428の処理例を示すフローチャート、図12は仮想計算機322、412が待機系になっているときのスナップショット管理部323、413の処理例を示すフローチャートである。   Next, the operation of the fault tolerant system 200 according to the present embodiment will be described with reference to FIGS. 9 is a sequence chart for explaining the state transition of the virtual computers 322, 412, and 422 on the physical computers 320, 410, and 420. FIG. 10 is a diagram when the virtual computers 312, 322, and 412 are in the active system. FIG. 11 is a flowchart showing a processing example of the synchronization means 328, 418, 428, and FIG. 12 is a diagram when the virtual machines 322, 412 are in a standby system. 4 is a flowchart showing a processing example of the snapshot management units 323 and 413.

図9に示すように、時刻t11において、稼働系の仮想計算機312が動作している物理計算機310内のチェックポイント検出部314がチェックポイント(CP)を検出したとする。   As shown in FIG. 9, it is assumed that the checkpoint detection unit 314 in the physical computer 310 in which the active virtual computer 312 is operating detects a checkpoint (CP) at time t11.

スナップショット取得手段315は、チェックポイント検出部314が時刻t11においてチェックポイントを検出すると(図10のステップS101がYes)、仮想計算機312を一時停止させ、その後、前回のチェックポイントにおける仮想計算機312の状態を示すスナップショットと今回のチェックポイントにおける仮想計算機の状態を示すスナップショットとの差分を示すスナップショット差分情報を取得する(ステップS102、S103)。ここで、スナップショット差分情報の取得方法としては、例えば、前回のチェックポイント以降に更新されたページ(ダーティページ)の内容をスナップショット差分情報として取得する方法を採用することができる。   When the checkpoint detection unit 314 detects a checkpoint at time t11 (Yes in step S101 in FIG. 10), the snapshot acquisition unit 315 temporarily stops the virtual computer 312 and then the virtual computer 312 at the previous checkpoint. Snapshot difference information indicating the difference between the snapshot indicating the state and the snapshot indicating the state of the virtual machine at the current checkpoint is acquired (steps S102 and S103). Here, as a method of acquiring the snapshot difference information, for example, a method of acquiring the contents of a page (dirty page) updated after the previous checkpoint as the snapshot difference information can be employed.

その後、スナップショット送信手段316が、上記スナップショット差分情報を、通信路330を介して物理計算機320へ送信する(ステップS104)。   Thereafter, the snapshot transmission means 316 transmits the snapshot difference information to the physical computer 320 via the communication path 330 (step S104).

物理計算機320内の同期手段328は、スナップショット差分情報を受信すると(図11のステップS111がYes)、物理計算機310に対して応答信号を返す(ステップS112)。その後、同期手段328は、受信したスナップショット差分情報に基づいて、待機系の仮想計算機322の状態を稼働系の仮想計算機312の最新のチェックポイント時の状態と一致させ(ステップS113)、再び、ステップS111の処理を行う。   When receiving the snapshot difference information (Yes in step S111 in FIG. 11), the synchronization unit 328 in the physical computer 320 returns a response signal to the physical computer 310 (step S112). Thereafter, the synchronization unit 328 matches the state of the standby virtual machine 322 with the state at the latest checkpoint of the active virtual machine 312 based on the received snapshot difference information (step S113), and again, The process of step S111 is performed.

物理計算機310内の応答受信手段317は、応答信号を受信すると(図10のステップS105がYes)、物理計算機320においてスナップショット差分情報が正常受信されたと判断し、仮想計算機312の動作を再開させる(ステップS106)。ここで、チェックポイント検出部314がチェックポイントを検出してから応答受信手段317が応答信号を受信するまでの間(図9の時刻11から時刻12までの間)は、仮想計算機312の動作は一時的に停止する。しかし、本実施形態では、物理計算機310、320を近接配置し、且つ、ネットワーク500に比較して広帯域の通信路330によって物理計算機310、320を接続しているので、通信応答の遅延を短くでき、その結果、仮想計算機312の停止時間を短くすることができる。   When receiving a response signal (Yes in step S105 in FIG. 10), the response receiving unit 317 in the physical computer 310 determines that the snapshot difference information has been normally received in the physical computer 320 and restarts the operation of the virtual computer 312. (Step S106). Here, the operation of the virtual computer 312 is from the time when the check point detecting unit 314 detects the check point until the response receiving unit 317 receives the response signal (from time 11 to time 12 in FIG. 9). Stop temporarily. However, in this embodiment, the physical computers 310 and 320 are arranged close to each other, and the physical computers 310 and 320 are connected by the broadband communication path 330 as compared to the network 500, so that the communication response delay can be shortened. As a result, the stop time of the virtual machine 312 can be shortened.

その後、時刻t13において、チェックポイント検出部314がチェックポイントを検出すると、スナップショット取得手段315、スナップショット送信手段316、応答受信手段317、および、同期手段328において前述した処理と同様の処理(図10および図11のフローチャートに示す処理)が行われ、待機系の仮想計算機322の状態が、稼働系の仮想計算機312の時刻t13の状態に遷移する。   Thereafter, when the checkpoint detection unit 314 detects a checkpoint at time t13, the snapshot acquisition unit 315, the snapshot transmission unit 316, the response reception unit 317, and the synchronization unit 328 perform the same processing as that described above (FIG. 10 and the process shown in the flowchart of FIG. 11), the state of the standby virtual machine 322 changes to the state of the active virtual machine 312 at time t13.

その後、時刻t15において、物理計算機320内のチェックポイント検出部324が、チェックポイントを検出すると(図12のステップS121がYes)、スナップショット取得手段325が仮想計算機322についてのスナップショット差分情報を取得し、スナップショット送信手段326がスナップショット差分情報をネットワーク500を介して物理計算機410へ送信する(ステップS122、S123)。   Thereafter, at time t15, when the checkpoint detection unit 324 in the physical computer 320 detects a checkpoint (Yes in step S121 in FIG. 12), the snapshot acquisition unit 325 acquires the snapshot difference information for the virtual computer 322. Then, the snapshot transmission means 326 transmits the snapshot difference information to the physical computer 410 via the network 500 (steps S122 and S123).

ここで、物理計算機320内のチェックポイント検出部324がチェックポイントを検出する時間周期Tcp2は、前述したように物理計算機310内のチェックポイント検出部314がチェックポイントを検出する時間周期Tcp1よりも長い周期になっている。このため、例えば、時間周期Tcp2が時間周期Tcp1の5倍であれば、スナップショット取得手段325は、物理計算機310からスナップショット差分情報が5回送られてくる毎に仮想計算機322についてのスナップショット差分情報を取得することになる。一般的に、プログラムの局所性により、物理計算機320における前回のチェックポイントから今回のチェックポイントまでの間に、物理計算機310から同じダーティページの内容が送られてくる確率が高い。このため、チェックポイント検出部324の時間周期Tcp2をチェックポイント検出部314の時間周期Tcp1よりも長くし、物理計算機310からスナップショット差分情報が複数回送られてくる毎に、仮想計算機322についてのスナップショット差分情報を取得する方が、時間周期Tcp1、Tcp2を同じ周期とし、物理計算機310からスナップショット差分情報が1回送られてくる毎に、スナップショット差分情報を取得する場合に比較して、トータルなデータ転送量を少なくすることができる。   Here, the time period Tcp2 in which the checkpoint detection unit 324 in the physical computer 320 detects the checkpoint is longer than the time period Tcp1 in which the checkpoint detection unit 314 in the physical computer 310 detects the checkpoint as described above. It is a cycle. Therefore, for example, if the time period Tcp2 is five times the time period Tcp1, the snapshot acquisition unit 325 takes the snapshot difference for the virtual computer 322 every time the snapshot difference information is sent from the physical computer 310 five times. You will get information. Generally, due to the locality of the program, there is a high probability that the contents of the same dirty page are sent from the physical computer 310 between the previous check point and the current check point in the physical computer 320. For this reason, the time cycle Tcp2 of the checkpoint detection unit 324 is made longer than the time cycle Tcp1 of the checkpoint detection unit 314, and each time the snapshot difference information is sent from the physical computer 310 a plurality of times, a snap for the virtual computer 322 is performed. Compared to the case where the snapshot difference information is acquired, the time periods Tcp1 and Tcp2 are set to the same period, and the snapshot difference information is acquired every time the snapshot difference information is sent once from the physical computer 310, compared to the case where the snapshot difference information is acquired. The amount of data transfer can be reduced.

物理計算機410内の同期手段418は、物理計算機320からスナップショット差分情報を受信すると(図11のステップS111がYes)、応答信号を物理計算機320に返した後、上記スナップショット差分情報に基づいて仮想計算機412の状態を仮想計算機322の最新のチェックポイント時の状態と一致させる(ステップS112、S113)。ここで、仮想計算機322の最新のチェックポイント時の状態は、仮想計算機312の時刻t13の状態と一致しているので、仮想計算機412の状態は仮想計算機312の時刻t13の状態に遷移することになる。   Upon receiving the snapshot difference information from the physical computer 320 (Yes in step S111 in FIG. 11), the synchronization unit 418 in the physical computer 410 returns a response signal to the physical computer 320, and then, based on the snapshot difference information. The state of the virtual machine 412 is made to coincide with the state at the latest checkpoint of the virtual machine 322 (steps S112 and S113). Here, since the state at the latest checkpoint of the virtual machine 322 matches the state at the time t13 of the virtual machine 312, the state of the virtual machine 412 transitions to the state of the virtual machine 312 at the time t13. Become.

物理計算機320内の応答受信手段327は、時刻t16で物理計算機410からの応答信号を受信すると(ステップS124がYes)、制御をスナップショット取得手段325に渡し、ステップS121の処理を行わせる。なお、時刻t15から時刻t16までの間においても、物理計算機310と物理計算機320との間でスナップショット差分情報および応答信号がやり取りされるが、図9では図示を省略している。   When receiving the response signal from the physical computer 410 at time t16 (Yes in step S124), the response receiving unit 327 in the physical computer 320 passes control to the snapshot acquisition unit 325 to perform the process of step S121. Note that snapshot difference information and response signals are also exchanged between the physical computer 310 and the physical computer 320 from time t15 to time t16, but are not shown in FIG.

ここで、物理計算機320と物理計算機410とは地理的に離れた地点に設置され、且つ、ネットワーク500は通信路330に比較して帯域が狭いので、物理計算機310、320間に比較して通信応答の遅延が大きなものとなる。しかし、メインサイト300内の物理計算機310と物理計算機320との間で通信応答の遅延は非常に小さいので、物理計算機320、410間の通信応答の遅延が大きくとも、稼働系の仮想計算機312の処理能力を低下させることはほとんどない。   Here, the physical computer 320 and the physical computer 410 are installed at geographically distant points, and the network 500 has a narrower bandwidth compared to the communication path 330, and therefore the physical computer 310 and 320 communicate with each other. Response delay is large. However, since the communication response delay between the physical computer 310 and the physical computer 320 in the main site 300 is very small, even if the communication response delay between the physical computers 320 and 410 is large, the processing of the active virtual computer 312 is performed. There is almost no decline in ability.

その後、時刻t17において、物理計算機410内のチェックポイント検出部414がチェックポイントを検出すると(図12のステップS121がYes)、スナップショット取得手段415が仮想計算機412についてのスナップショット差分情報を取得し、スナップショット送信手段416がスナップショット差分情報を通信路430を介して物理計算機420へ送信する(ステップS122、S123)。   Thereafter, when the checkpoint detection unit 414 in the physical computer 410 detects a checkpoint at time t17 (Yes in step S121 in FIG. 12), the snapshot acquisition unit 415 acquires snapshot difference information for the virtual computer 412. The snapshot transmission means 416 transmits the snapshot difference information to the physical computer 420 via the communication path 430 (steps S122 and S123).

物理計算機420の同期手段428は、スナップショット差分情報を受信すると(図11のステップS111がYes)、物理計算機410に応答信号を返し、その後、仮想計算機422の状態を、仮想計算機412の最新のチェックポイント時に状態と一致させる(ステップS112、S113)。ここで、仮想計算機412の最新のチェックポイント時の状態は、仮想計算機312の時刻t13の状態と一致するので、仮想計算機422の状態は、仮想計算機312の時刻t13の状態に遷移する。   Upon receiving the snapshot difference information (Yes in step S111 in FIG. 11), the synchronization unit 428 of the physical computer 420 returns a response signal to the physical computer 410, and then changes the status of the virtual computer 422 to the latest of the virtual computer 412. Match the state at the time of checkpoint (steps S112 and S113). Here, since the state at the latest checkpoint of the virtual machine 412 matches the state of the virtual machine 312 at time t13, the state of the virtual machine 422 transitions to the state of time t13 of the virtual machine 312.

以上説明したように、仮想計算機322、412、422の状態は、稼働系の仮想計算機312の或る時刻の状態と一致したものになる。従って、仮想計算機322、412、422が稼働系の仮想計算機312の待機系になる。   As described above, the states of the virtual machines 322, 412, and 422 coincide with the state of the active virtual machine 312 at a certain time. Accordingly, the virtual machines 322, 412, and 422 become standby systems for the active virtual machine 312.

次に、稼働系の仮想計算機312が動作している物理計算機310にハードウェア障害等の障害が発生した場合の動作を説明する。   Next, an operation when a failure such as a hardware failure occurs in the physical computer 310 on which the active virtual computer 312 is operating will be described.

物理計算機320上のスナップショット管理部323は、稼働系の仮想計算機312が動作している物理計算機310における障害の有無を検出する。障害の検出方法は任意である。例えば、スナップショット管理部323は、物理計算機310から通信路330経由で物理計算機320に対して一定周期で送信される特定の信号(例えば、ハートビート信号)の受信の有無を検出することによって障害の有無を検出してよい。   The snapshot management unit 323 on the physical computer 320 detects whether there is a failure in the physical computer 310 in which the active virtual computer 312 is operating. The method for detecting a failure is arbitrary. For example, the snapshot management unit 323 detects a failure by detecting the presence / absence of reception of a specific signal (for example, a heartbeat signal) transmitted from the physical computer 310 to the physical computer 320 via the communication path 330 at a fixed period. The presence or absence of may be detected.

スナップショット管理部323は、物理計算機310の障害を検出すると、自物理計算機320に対応する仮想計算機322を待機系から稼働系に切り替える。これにより、新たに稼働系になった仮想計算機322が、仮想計算機312で行われていた処理を継続して実行する(フェイルオーバー)。また、スナップショット管理部323内のスナップショット取得手段325、スナップショット送信手段326、及び、応答受信手段327は、自物理計算機320に対応する仮想計算機322が稼働系に切り替わったので、図12のフローチャートに示す処理の代わりに、図10のフローチャートに示す処理を実行する。   When detecting the failure of the physical computer 310, the snapshot management unit 323 switches the virtual computer 322 corresponding to the own physical computer 320 from the standby system to the active system. As a result, the virtual machine 322 that has newly become an active system continues to execute the processing performed by the virtual machine 312 (failover). In addition, the snapshot acquisition unit 325, snapshot transmission unit 326, and response reception unit 327 in the snapshot management unit 323 have the virtual computer 322 corresponding to the own physical computer 320 switched to the active system. Instead of the process shown in the flowchart, the process shown in the flowchart of FIG. 10 is executed.

次に、物理計算機310に加え、物理計算機320にも障害が発生した場合の動作を説明する。   Next, an operation when a failure occurs in the physical computer 320 in addition to the physical computer 310 will be described.

物理計算機410上のスナップショット管理部413は、稼働系の仮想計算機322が動作している物理計算機320の障害を検出すると、自物理計算機410に対応する仮想計算機412を待機系から稼働系に切り替える。これにより、新たに稼働系になった仮想計算機412が、仮想計算機322で行われている処理を継続して実行する。また、スナップショット管理部413内のスナップショット取得手段415、スナップショット送信手段416、及び、応答受信手段417は、自物理計算機410に対応する仮想計算機412が待機系に切り替わったので、図12のフローチャートに示す処理の代わりに、図10のフローチャートに示す処理を実行する。   When the snapshot management unit 413 on the physical computer 410 detects a failure of the physical computer 320 in which the active virtual computer 322 is operating, the snapshot management unit 413 switches the virtual computer 412 corresponding to the own physical computer 410 from the standby system to the active system. . As a result, the virtual machine 412 that has newly become an active system continues to execute the processing performed by the virtual machine 322. In addition, the snapshot acquisition unit 415, snapshot transmission unit 416, and response reception unit 417 in the snapshot management unit 413 are switched to the standby system because the virtual computer 412 corresponding to the own physical computer 410 is switched to the standby system. Instead of the process shown in the flowchart, the process shown in the flowchart of FIG. 10 is executed.

次に、物理計算機310、320に加えて、物理計算機410に障害が発生した場合の動作を説明する。   Next, an operation when a failure occurs in the physical computer 410 in addition to the physical computers 310 and 320 will be described.

物理計算機420上のスナップショット管理部423は、稼働系の仮想計算機412が動作している物理計算機410の障害を検出すると、自物理計算機420に対応する仮想計算機422を待機系から稼働系に切り替える。これにより、新たに稼働系になった仮想計算機422が、仮想計算機412で行われている処理を継続して実行する。また、スナップショット管理部423は、自物理計算機420に対応する仮想計算機422が待機系から稼働系に切り替わったので、図12のフローチャートに示す処理の代わりに、図10のフローチャートに示す処理を実行する。   When the snapshot management unit 423 on the physical computer 420 detects a failure of the physical computer 410 on which the active virtual computer 412 is operating, the snapshot management unit 423 switches the virtual computer 422 corresponding to the own physical computer 420 from the standby system to the active system. . As a result, the virtual machine 422 that has newly become an active system continues to execute the processing performed by the virtual machine 412. The snapshot management unit 423 executes the process shown in the flowchart of FIG. 10 instead of the process shown in the flowchart of FIG. 12 because the virtual machine 422 corresponding to the own physical computer 420 has switched from the standby system to the active system. To do.

なお、チェックポイント検出部324、414に関し、自物理計算機320、410に対応する仮想計算機332、412が待機系から稼働系に切り替わった場合は、チェックポイントを検出する時間周期Tcp2、Tcp3をより短い時間周期Tcp2’、Tcp3’(Tcp1>Tcp1’、Tcp2>Tcp2’)に変更するようにしても良い。   Regarding the checkpoint detection units 324 and 414, when the virtual computers 332 and 412 corresponding to the own physical computers 320 and 410 are switched from the standby system to the active system, the time periods Tcp2 and Tcp3 for detecting the checkpoint are shorter. The time periods Tcp2 ′ and Tcp3 ′ (Tcp1> Tcp1 ′, Tcp2> Tcp2 ′) may be changed.

本実施形態によれば、チェックポイント検出部324によるチェックポイントの周期をチェックポイント検出部314によるチェックポイントの周期よりも長くしているので、ネットワーク500を介して転送するスナップショット差分情報のデータ量を少なくすることができる。更に、本実施形態では、物理計算機310、320をメインサイト300に設置し、物理計算機410、420をメインサイト400と地理的に離れたバックアップサイト400に設置しているので、ディザスタリカバリが可能になる。   According to the present embodiment, since the checkpoint cycle by the checkpoint detection unit 324 is longer than the checkpoint cycle by the checkpoint detection unit 314, the amount of snapshot difference information transferred via the network 500 Can be reduced. Furthermore, in this embodiment, since the physical computers 310 and 320 are installed at the main site 300 and the physical computers 410 and 420 are installed at the backup site 400 that is geographically separated from the main site 400, disaster recovery is possible.

[第3の実施形態]
次に、本発明に係るフォールトトレラントシステムの第3の実施形態について説明する。
[Third embodiment]
Next, a third embodiment of the fault tolerant system according to the present invention will be described.

図13を参照すると、本実施形態に係るフォールトトレラントシステムは、稼働系の仮想計算機610が動作する第1の物理計算機600と、上記第1の物理計算機600に接続され、第1の待機系の仮想計算機710が動作する第2の物理計算機700と、上記第2の物理計算機700に接続され、第2の待機系の仮想計算機810が動作する第3の物理計算機800とを有している。   Referring to FIG. 13, the fault tolerant system according to the present embodiment is connected to the first physical computer 600 on which the active virtual computer 610 operates and the first physical computer 600, and the first standby computer It has a second physical computer 700 on which the virtual computer 710 operates and a third physical computer 800 connected to the second physical computer 700 and on which the second standby virtual computer 810 operates.

そして、第1の物理計算機600は、上記稼働系の仮想計算機610と上記第1の待機系の仮想計算機710との同期を採るタイミングである第1のチェックポイントが検出される毎に、上記稼働系の仮想計算機610のスナップショット差分情報を取得して上記第2の物理計算機700へ送信する。   The first physical computer 600 performs the above operation every time a first checkpoint is detected, which is a timing at which the active virtual computer 610 and the first standby virtual computer 710 are synchronized. The snapshot difference information of the system virtual machine 610 is acquired and transmitted to the second physical machine 700.

また、第2の物理計算機700は、上記第1の物理計算機600から受信した上記稼働系の仮想計算機610のスナップショット差分情報に基づいて、上記第1の待機系の仮想計算機710の状態を上記第1のチェックポイント時点の上記稼働系の仮想計算機610の状態に一致させ、更に、上記第1の待機系の仮想計算機710と上記第2の待機系の仮想計算機810との同期を採る第2のチェックポイントが検出される毎に、上記第1の待機系の仮想計算機710のスナップショット差分情報を取得して上記第3の物理計算機800へ送信する。   The second physical computer 700 changes the state of the first standby virtual computer 710 based on the snapshot difference information of the active virtual computer 610 received from the first physical computer 600. Secondly, the second virtual machine 610 is synchronized with the first standby virtual machine 810 and the second standby virtual machine 810 to match the state of the active virtual machine 610 at the time of the first checkpoint. Each time a checkpoint is detected, snapshot difference information of the first standby virtual machine 710 is acquired and transmitted to the third physical computer 800.

また、第3の物理計算機800は、上記第2の物理計算機700から受信した上記第1の待機系の仮想計算機710のスナップショット差分情報に基づいて、上記第2の待機系の仮想計算機810の状態を上記第2のチェックポイント時点の前記第1の待機系の仮想計算機710の状態に一致させる。   In addition, the third physical computer 800 uses the snapshot difference information of the first standby virtual computer 710 received from the second physical computer 700 to determine the second standby virtual computer 810. The state is matched with the state of the first standby virtual machine 710 at the time of the second checkpoint.

このように本実施形態によれば、複数の待機系を有しながら稼働系の性能の低下を抑えることができるフォールトトレラントシステムを提供することができる。その理由は、稼働系の仮想計算機600を有する第1の物理計算機600は、所定のチェックポイント毎に稼働系の仮想計算機610のスナップショット差分情報を取得して物理計算機700に送信すれば、第2の物理計算機700上に第1の待機系の仮想計算機710を生成することができ、第2の待機系の仮想計算機810は、第2の物理計算機700の自律的な動作によって第3の物理計算機800上に生成されるためである。   As described above, according to the present embodiment, it is possible to provide a fault tolerant system that has a plurality of standby systems and can suppress a decrease in performance of the active system. The reason is that the first physical computer 600 having the active virtual computer 600 acquires the snapshot difference information of the active virtual computer 610 for each predetermined checkpoint and transmits it to the physical computer 700. The first standby virtual machine 710 can be generated on the second physical computer 700, and the second standby virtual machine 810 can perform the third physical operation by the autonomous operation of the second physical computer 700. This is because it is generated on the computer 800.

100 フォールトトレラントシステム
110、120、130 物理計算機
111、121、131 ハイパーバイザ
112、122、132 仮想計算機
113、123、133 スナップショット管理部
114、124 チェックポイント検出部
200 フォールトトレラントシステム
300 メインサイト
310、320 物理計算機
311、321 ハイパーバイザ
312、322 仮想計算機
313、323 スナップショット管理部
314、324 チェックポイント検出部
315、325 スナップショット取得手段
316、326 スナップショット送信手段
317、327 応答受信手段
328 同期手段
330 通信路
400 バックアップサイト
410、420 物理計算機
411,421 ハイパーバイザ
412、422 仮想計算機
413、423 スナップショット管理部
414 チェックポイント検出部
415 スナップショット取得手段
416 スナップショット送信手段
417 応答受信手段
418、428 同期手段
430 通信路
500 ネットワーク
600、700、800 物理計算機
610、710、810 仮想計算機
100 Fault tolerant system 110, 120, 130 Physical computer 111, 121, 131 Hypervisor 112, 122, 132 Virtual computer 113, 123, 133 Snapshot management unit 114, 124 Checkpoint detection unit 200 Fault tolerant system 300 Main site 310, 320 Physical computer 311, 321 Hypervisor 312, 322 Virtual computer 313, 323 Snapshot management unit 314, 324 Checkpoint detection unit 315, 325 Snapshot acquisition unit 316, 326 Snapshot transmission unit 317, 327 Response reception unit 328 Synchronization unit 330 Communication path 400 Backup site 410, 420 Physical computer 411, 421 Hypervisor 412, 422 Virtual computer 413, 4 23 Snapshot management unit 414 Check point detection unit 415 Snapshot acquisition unit 416 Snapshot transmission unit 417 Response reception unit 418, 428 Synchronization unit 430 Communication channel 500 Network 600, 700, 800 Physical computer 610, 710, 810 Virtual computer

Claims (21)

稼働系の仮想計算機が動作する第1の物理計算機と、前記第1の物理計算機に接続され、第1の待機系の仮想計算機が動作する第2の物理計算機と、前記第2の物理計算機に接続され、第2の待機系の仮想計算機が動作する第3の物理計算機とを有し、
前記第1の物理計算機は、前記稼働系の仮想計算機と前記第1の待機系の仮想計算機との同期を採るタイミングである第1のチェックポイントが検出される毎に、前記稼働系の仮想計算機のスナップショット差分情報を取得して前記第2の物理計算機へ送信し、
前記第2の物理計算機は、前記第1の物理計算機から受信した前記稼働系の仮想計算機のスナップショット差分情報に基づいて、前記第1の待機系の仮想計算機の状態を前記第1のチェックポイント時点の前記稼働系の仮想計算機の状態に一致させ、更に、前記第1の待機系の仮想計算機と前記第2の待機系の仮想計算機との同期を採る第2のチェックポイントが検出される毎に、前記第1の待機系の仮想計算機のスナップショット差分情報を取得して前記第3の物理計算機へ送信し、
前記第3の物理計算機は、前記第2の物理計算機から受信した前記第1の待機系の仮想計算機のスナップショット差分情報に基づいて、前記第2の待機系の仮想計算機の状態を前記第2のチェックポイント時点の前記第1の待機系の仮想計算機の状態に一致させる
フォールトトレラントシステム。
A first physical computer on which an active virtual computer operates, a second physical computer connected to the first physical computer and on which a first standby virtual computer operates, and the second physical computer A third physical computer connected and operating a second standby virtual computer;
Each time the first physical computer detects a first checkpoint, which is a timing at which the active virtual computer and the first standby virtual computer are synchronized, the active virtual computer And obtain the snapshot difference information and send it to the second physical computer,
Based on the snapshot difference information of the active virtual machine received from the first physical computer, the second physical computer changes the status of the first standby virtual machine to the first checkpoint. Each time a second checkpoint is detected that matches the state of the active virtual machine at the time and further synchronizes the first standby virtual machine with the second standby virtual machine. In addition, the snapshot difference information of the first standby virtual machine is acquired and transmitted to the third physical machine,
The third physical computer changes the state of the second standby virtual computer based on the snapshot difference information of the first standby virtual computer received from the second physical computer. A fault tolerant system that matches the state of the virtual machine in the first standby system at the checkpoint time.
前記第1の物理計算機と前記第2の物理計算機とは、前記第2の物理計算機と前記第3の物理計算機とを接続する通信路に比べて高速かつ広帯域な通信路によって接続されている
請求項1に記載のフォールトトレラントシステム。
The first physical computer and the second physical computer are connected by a high-speed and wide-band communication path compared to a communication path connecting the second physical computer and the third physical computer. Item 2. The fault tolerant system according to Item 1.
前記第2のチェックポイントの周期は、前記第1のチェックポイントの周期と同じ周期か、或いはより長い周期である
請求項1または2に記載のフォールトトレラントシステム。
3. The fault tolerant system according to claim 1, wherein a period of the second checkpoint is the same as or longer than a period of the first checkpoint.
前記第1の物理計算機と前記第2の物理計算機とは、メインサイトに設置され、
前記第3の物理計算機は、前記メインサイトと地理的に離れたバックアップサイトに設置されている
請求項1乃至3の何れか1項に記載のフォールトトレラントシステム。
The first physical computer and the second physical computer are installed at a main site,
The fault tolerant system according to any one of claims 1 to 3, wherein the third physical computer is installed at a backup site geographically separated from the main site.
前記第3の物理計算機に接続され、第3の待機系の仮想計算機が動作する第4の物理計算機をさらに有し、
前記第3の物理計算機は、
前記第2の待機系の仮想計算機と前記第3の待機系の仮想計算機との同期を採るタイミングである第3のチェックポイントが検出される毎に、前記第2の待機系の仮想計算機のスナップショット差分情報を取得して前記第3の物理計算機から前記第4の物理計算機へ送信する機能をさらに有し、
前記第4の物理計算機は、
前記第3の物理計算機から受信した前記第2の待機系の仮想計算機のスナップショット差分情報に基づいて、前記第3の待機系の仮想計算機の状態を前記第3のチェックポイント時点の前記第2の待機系の仮想計算機の状態に一致させ
求項1乃至4の何れか1項に記載のフォールトトレラントシステム。
A fourth physical computer connected to the third physical computer and operating a third standby virtual computer;
The third physical computer is
Every time the third checkpoint is a timing synchronized with the virtual machine and the third standby virtual machine of said second standby is detected, the virtual machine of said second standby A function of acquiring snapshot difference information and transmitting the snapshot difference information from the third physical computer to the fourth physical computer;
The fourth physical computer is
Based on the snapshot difference information of the second standby virtual machine received from the third physical computer, the status of the third standby virtual machine is changed to the second time at the third checkpoint time. Ru to match the state of the virtual computer of the standby system
Fault tolerant system according to any one of Motomeko 1 to 4.
第1および第3の物理計算機に接続され、
第1の待機系の仮想計算機を有し、
前記第1の物理計算機から第1のチェックポイント毎に受信する、前記第1の物理計算機上で稼働する稼働系の仮想計算機のスナップショット差分情報に基づいて、前記第1の待機系の仮想計算機の状態を前記第1のチェックポイント時点の前記稼働系の仮想計算機の状態に一致させ、
前記第1の待機系の仮想計算機と前記第3の物理計算機上で稼働する第2の待機系の仮想計算機との同期を採るタイミングである第2のチェックポイントを検出する毎に、前記第1の待機系の仮想計算機のスナップショット差分情報を取得して前記第3の物理計算機へ送信する
計算機。
Connected to the first and third physical computers,
Having a first standby virtual machine,
Based on the snapshot difference information of the active virtual machine operating on the first physical computer received from the first physical computer for each first checkpoint, the first standby virtual machine To match the state of the active virtual machine at the time of the first checkpoint,
Each time a second checkpoint is detected, which is the timing for synchronizing the first standby virtual machine and the second standby virtual machine running on the third physical computer, the first checkpoint is detected. A computer that acquires the snapshot difference information of the standby virtual computer and transmits it to the third physical computer.
前記第1の物理計算機とは、前記第3の物理計算機と接続されている通信路に比べて高速かつ広帯域な通信路によって接続されている
請求項6に記載の計算機。
The computer according to claim 6, wherein the first physical computer is connected by a high-speed and broadband communication path compared to a communication path connected to the third physical computer.
前記第2のチェックポイントの周期は、前記第1のチェックポイントの周期と同じ周期か、或いはより長い周期である
請求項6または7に記載の計算機。
The computer according to claim 6 or 7, wherein the cycle of the second checkpoint is the same cycle as the cycle of the first checkpoint or a longer cycle.
前記第3の物理計算機が設置されているバックアップサイトとは地理的に離れた場所に存在するメインサイトに前記第1の物理計算機と共に、設置されている
請求項6乃至8の何れか1項に記載の計算機。
9. The system according to claim 6, wherein the third physical computer is installed together with the first physical computer at a main site that is geographically distant from the backup site where the third physical computer is installed. Calculator.
第1および第3の物理計算機に接続され、且つ、第1の待機系の仮想計算機を有する計算機の同期方法であって、
前記第1の物理計算機から第1のチェックポイント毎に受信する、前記第1の物理計算機上で稼働する稼働系の仮想計算機のスナップショット差分情報に基づいて、前記第1の待機系の仮想計算機の状態を前記第1のチェックポイント時点の前記稼働系の仮想計算機の状態に一致させ、
前記第1の待機系の仮想計算機と前記第3の物理計算機上で稼働する第2の待機系の仮想計算機との同期を採るタイミングである第2のチェックポイントを検出する毎に、前記第1の待機系の仮想計算機のスナップショット差分情報を取得して前記第3の物理計算機へ送信する
同期方法。
A method of synchronizing computers connected to first and third physical computers and having a first standby virtual computer,
Based on the snapshot difference information of the active virtual machine operating on the first physical computer received from the first physical computer for each first checkpoint, the first standby virtual machine To match the state of the active virtual machine at the time of the first checkpoint,
Each time a second checkpoint is detected, which is the timing for synchronizing the first standby virtual machine and the second standby virtual machine running on the third physical computer, the first checkpoint is detected. A synchronization method of acquiring snapshot difference information of the standby virtual computer and transmitting it to the third physical computer.
前記第1の物理計算機とは、前記第3の物理計算機と接続されている通信路に比べて高速かつ広帯域な通信路によって接続されている
請求項10に記載の同期方法。
11. The synchronization method according to claim 10, wherein the first physical computer is connected to the first physical computer via a communication path that is faster and wider than the communication path connected to the third physical computer.
前記第2のチェックポイントの周期は、前記第1のチェックポイントの周期と同じ周期か、或いはより長い周期である
請求項10または11に記載の同期方法。
12. The synchronization method according to claim 10, wherein a period of the second checkpoint is the same as or longer than a period of the first checkpoint.
前記第3の物理計算機が設置されているバックアップサイトとは地理的に離れた場所に存在するメインサイトに前記第1の物理計算機と共に、設置されている
請求項10乃至12の何れか1項に記載の同期方法。
13. The system according to claim 10, wherein the third physical computer is installed together with the first physical computer at a main site that is geographically separated from a backup site where the third physical computer is installed. Synchronization method.
稼働系の仮想計算機が動作する第1の物理計算機と、第1の待機系の仮想計算機が動作する第2の物理計算機と、第2の待機系の仮想計算機が動作する第3の物理計算機とを有するフォールトトレラントシステムの同期方法であって、
前記第1の物理計算機が、前記稼働系の仮想計算機と前記第1の待機系の仮想計算機との同期を採るタイミングである第1のチェックポイント毎に、前記稼働系の仮想計算機のスナップショット差分情報を取得して前記第1の物理計算機から前記第2の物理計算機へ送信し、
前記第2の物理計算機が、前記第1の物理計算機から受信した前記稼働系の仮想計算機のスナップショット差分情報に基づいて、前記第1の待機系の仮想計算機の状態を前記第1のチェックポイント時点の前記稼働系の仮想計算機の状態に一致させ、
前記第2の物理計算機が、前記第1の待機系の仮想計算機と前記第2の待機系の仮想計算機との同期を採るタイミングである第2のチェックポイント毎に、前記第1の待機系の仮想計算機のスナップショット差分情報を取得して前記第2の物理計算機から前記第3の物理計算機へ送信し、
前記第3の物理計算機が、前記第2の物理計算機から受信した前記第1の待機系の仮想計算機のスナップショット差分情報に基づいて、前記第2の待機系の仮想計算機の状態を前記第2のチェックポイント時点の前記第1の待機系の仮想計算機の状態に一致させる
フォールトトレラントシステムの同期方法。
A first physical computer on which an active virtual computer operates, a second physical computer on which a first standby virtual computer operates, and a third physical computer on which a second standby virtual computer operates A fault tolerant system synchronization method comprising:
Wherein the first physical computer, the first check point by point a timing synchronized with the operation system of the virtual machine and the first standby-system virtual machine, snapshot the virtual machine before Ki稼働系Get shot difference information and send it from the first physical computer to the second physical computer,
Based on the snapshot difference information of the active virtual computer received from the first physical computer by the second physical computer, the status of the first standby virtual computer is changed to the first checkpoint. Match the state of the active virtual machine at the time,
For each second checkpoint at which the second physical computer synchronizes the first standby virtual machine and the second standby virtual computer, the first standby system Obtain snapshot difference information of the virtual computer and send it from the second physical computer to the third physical computer,
Based on the snapshot difference information of the first standby virtual machine received from the second physical computer, the third physical computer changes the state of the second standby virtual machine to the second A fault tolerant system synchronization method that matches the state of the virtual machine in the first standby system at the checkpoint time.
前記第1の物理計算機と前記第2の物理計算機とは、前記第2の物理計算機と前記第3の物理計算機とを接続する通信路に比べて高速かつ広帯域な通信路によって接続されている
請求項14に記載のフォールトトレラントシステムの同期方法。
The first physical computer and the second physical computer are connected by a high-speed and wide-band communication path compared to a communication path connecting the second physical computer and the third physical computer. Item 15. The fault tolerant system synchronization method according to Item 14.
前記第2のチェックポイントの周期は、前記第1のチェックポイントの周期と同じ周期か、或いはより長い周期である
請求項14または15に記載のフォールトトレラントシステムの同期方法。
16. The fault tolerant system synchronization method according to claim 14, wherein the period of the second checkpoint is the same period as or longer than the period of the first checkpoint.
前記第1の物理計算機と前記第2の物理計算機とは、メインサイトに設置され、
前記第3の物理計算機は、前記メインサイトと地理的に離れたバックアップサイトに設置されている
請求項14乃至16の何れか1項に記載のフォールトトレラントシステムの同期方法。
The first physical computer and the second physical computer are installed at a main site,
The fault tolerant system synchronization method according to any one of claims 14 to 16, wherein the third physical computer is installed at a backup site geographically separated from the main site.
第1および第3の物理計算機に接続された計算機を、
第1の待機系の仮想計算機として機能させると共に、
前記計算機に、前記第1の物理計算機から第1のチェックポイント毎に受信する、前記第1の物理計算機上で稼働する稼働系の仮想計算機のスナップショット差分情報に基づいて、前記第1の待機系の仮想計算機の状態を前記第1のチェックポイント時点の前記稼働系の仮想計算機の状態に一致させる処理、および、前記第1の待機系の仮想計算機と前記第3の物理計算機上で稼働する第2の待機系の仮想計算機との同期を採るタイミングである第2のチェックポイントを検出する毎に、前記第1の待機系の仮想計算機のスナップショット差分情報を取得して前記第3の物理計算機へ送信する処理
を実行させるためのプログラム。
A computer connected to the first and third physical computers,
While functioning as a first standby virtual machine,
Based on the snapshot difference information of the active virtual machine operating on the first physical computer received from the first physical computer at each first checkpoint to the computer, the first standby Processing to match the state of the active virtual machine with the state of the active virtual machine at the time of the first checkpoint, and to operate on the first standby virtual machine and the third physical computer Each time the second checkpoint, which is the timing for synchronizing with the second standby virtual machine, is detected, the snapshot difference information of the first standby virtual machine is acquired and the third physical point is acquired. A program for executing processing to be sent to a computer.
前記第1の物理計算機と前記計算機とは、前記第3の物理計算機と前記計算機とを接続する通信路に比べて高速かつ広帯域な通信路によって接続されている
請求項18に記載のプログラム。
19. The program according to claim 18, wherein the first physical computer and the computer are connected by a high-speed and wide-band communication path compared to a communication path connecting the third physical computer and the computer.
前記第2のチェックポイントの周期は、前記第1のチェックポイントの周期と同じ周期か、或いはより長い周期である
請求項18または19に記載のプログラム。
The program according to claim 18 or 19, wherein the cycle of the second checkpoint is the same cycle as the cycle of the first checkpoint or a longer cycle.
前記第1の物理計算機と前記計算機とは、メインサイトに設置され、
前記第3の物理計算機は、前記メインサイトと地理的に離れたバックアップサイトに設置されている
請求項18乃至20の何れか1項に記載のプログラム。
The first physical computer and the computer are installed at a main site,
The program according to any one of claims 18 to 20, wherein the third physical computer is installed at a backup site geographically separated from the main site.
JP2012254905A 2012-11-21 2012-11-21 Fault tolerant system Active JP6056408B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012254905A JP6056408B2 (en) 2012-11-21 2012-11-21 Fault tolerant system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012254905A JP6056408B2 (en) 2012-11-21 2012-11-21 Fault tolerant system

Publications (2)

Publication Number Publication Date
JP2014102724A JP2014102724A (en) 2014-06-05
JP6056408B2 true JP6056408B2 (en) 2017-01-11

Family

ID=51025170

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012254905A Active JP6056408B2 (en) 2012-11-21 2012-11-21 Fault tolerant system

Country Status (1)

Country Link
JP (1) JP6056408B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6421470B2 (en) * 2014-06-17 2018-11-14 富士通株式会社 Virtual machine migration program, virtual machine migration system, and virtual machine migration method
JP6951637B2 (en) * 2017-11-06 2021-10-20 富士通株式会社 Survey data collection program, survey data collection device and survey data collection method
JP7056868B2 (en) * 2017-12-19 2022-04-19 日本電気通信システム株式会社 System, computer, system control method and program

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050050115A1 (en) * 2003-08-29 2005-03-03 Kekre Anand A. Method and system of providing cascaded replication
JP4998549B2 (en) * 2007-02-28 2012-08-15 富士通株式会社 Memory mirroring control program, memory mirroring control method, and memory mirroring control device
JP4479930B2 (en) * 2007-12-21 2010-06-09 日本電気株式会社 Node system, server switching method, server device, data takeover method, and program
JP5288185B2 (en) * 2009-01-07 2013-09-11 日本電気株式会社 Network interface, computer system, operation method thereof, and program
US8171338B2 (en) * 2010-05-18 2012-05-01 Vmware, Inc. Method and system for enabling checkpointing fault tolerance across remote virtual machines
JP5776267B2 (en) * 2011-03-29 2015-09-09 日本電気株式会社 Distributed file system

Also Published As

Publication number Publication date
JP2014102724A (en) 2014-06-05

Similar Documents

Publication Publication Date Title
USRE47852E1 (en) Snapshot and replication of a multi-stream application on multiple hosts at near-sync frequency
US8904231B2 (en) Synchronous local and cross-site failover in clustered storage systems
US7793060B2 (en) System method and circuit for differential mirroring of data
US9727429B1 (en) Method and system for immediate recovery of replicated virtual machines
US9244997B1 (en) Asymmetric active-active access of asynchronously-protected data storage
US9557925B1 (en) Thin replication
US9020895B1 (en) Disaster recovery for virtual machines across primary and secondary sites
US7725776B2 (en) Method for displaying pair state of copy pairs
Scales et al. The design of a practical system for fault-tolerant virtual machines
JP2009157785A (en) Method for adding standby computer, computer and computer system
US7797571B2 (en) System, method and circuit for mirroring data
US9398094B2 (en) Data transfer device
US9672165B1 (en) Data management tier coupling primary storage and secondary storage
CN111984474B (en) Method, system and equipment for recovering double-control cluster fault
JP6056408B2 (en) Fault tolerant system
JP4560074B2 (en) Virtual computer system and virtual computer restoration method in the same system
US10649862B1 (en) Reducing failback performance duration in data replication systems
JP6291711B2 (en) Fault tolerant system
US8095828B1 (en) Using a data storage system for cluster I/O failure determination
US11669516B2 (en) Fault tolerance for transaction mirroring
Scales et al. The design and evaluation of a practical system for fault-tolerant virtual machines
JP6318902B2 (en) Redundant system and redundancy method
JP6511737B2 (en) Redundant system, redundant method and redundant program
JP5702651B2 (en) Virtual machine synchronization method and system, and operational virtual machine and program
JP7056868B2 (en) System, computer, system control method and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151006

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160620

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160726

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160819

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: 20161108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161121

R150 Certificate of patent or registration of utility model

Ref document number: 6056408

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150