JP2009080705A - Virtual machine system and method for restoring virtual machine in the system - Google Patents

Virtual machine system and method for restoring virtual machine in the system Download PDF

Info

Publication number
JP2009080705A
JP2009080705A JP2007250228A JP2007250228A JP2009080705A JP 2009080705 A JP2009080705 A JP 2009080705A JP 2007250228 A JP2007250228 A JP 2007250228A JP 2007250228 A JP2007250228 A JP 2007250228A JP 2009080705 A JP2009080705 A JP 2009080705A
Authority
JP
Japan
Prior art keywords
virtual machine
log
snapshot
input
output
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.)
Granted
Application number
JP2007250228A
Other languages
Japanese (ja)
Other versions
JP4560074B2 (en
Inventor
Shigeo Omichi
茂夫 大道
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.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions 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 Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2007250228A priority Critical patent/JP4560074B2/en
Publication of JP2009080705A publication Critical patent/JP2009080705A/en
Application granted granted Critical
Publication of JP4560074B2 publication Critical patent/JP4560074B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To restore the state of a virtual machine up to a point of time of fault occurrence independently of a state of keeping consistency with the outside of a system without waiting an output to the outside of the system. <P>SOLUTION: A communication recording apparatus 31 records communication data input/output between an external system 40 and a virtual machine 11 in time-series order. When the restoration of the virtual machine 11 is required due to occurrence of a fault, a snapshot management mechanism 121 restores the virtual machine to an acquisition point of time (first point of time) of the snapshot on the basis of the latest snapshot of the virtual machine 11 stored in a snapshot storage part 122. A log reproduction mechanism 144 charges input data from the first point of time included in a communication log which is recorded in the communication recording apparatus 31 up to the second point of time which is the time of fault occurrence to the virtual machine 11 in the time-series order to restore the virtual machine 11 up to the state of the second point of time. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、物理計算機上で動作する仮想計算機を備えた仮想計算機システムに係り、特に、仮想計算機が動作する物理計算機の障害時に当該仮想計算機を復元するのに好適な仮想計算機システム及び同システムにおける仮想計算機復元方法に関する。   The present invention relates to a virtual machine system including a virtual machine that operates on a physical machine, and in particular, a virtual machine system suitable for restoring the virtual machine in the event of a failure of a physical machine on which the virtual machine operates, and the system The present invention relates to a virtual machine restoration method.

一般に計算機システムでは、障害が発生したときに、その障害発生直前のシステム状態を復元して処理を再開できるようにすることが要求される。このようなシステム状態を復元する手法として、従来から、スナップショットリカバリー方式及びチェックポイントリカバリー方式が知られている。   In general, in a computer system, when a failure occurs, it is required to restore the system state immediately before the failure so that the processing can be resumed. As a method for restoring such a system state, a snapshot recovery method and a checkpoint recovery method are conventionally known.

スナップショットリカバリー方式は、例えば定期的にシステム内部の状態をスナップショットとして取得して保存しておき、システムに障害が発生したときに、その障害発生時刻に最も近い時刻(スナップショット時刻)で取得されたスナップショット(つまり最新のスナップショット)に基づき、システムを当該障害発生時刻に最も近いスナップショット時刻の状態に復元するものである。   The snapshot recovery method, for example, periodically acquires and saves the internal state of the system as a snapshot, and when a failure occurs in the system, acquires it at the time closest to the failure occurrence time (snapshot time) The system is restored to the state of the snapshot time closest to the failure occurrence time based on the made snapshot (that is, the latest snapshot).

一方、チェックポイントリカバリー方式は、例えば特許文献1に記載されているように、計算機システムがネットワークを介して当該システムの外部(他の計算機システム)と通信している場合に、設定されたチェックポイントまでのネットワークへ/からの入出力(送受信)の履歴を保存しておき、システムに障害が発生したときには、保存しておいた履歴を用いてシステムの状態を復元するものである。ここで、計算機システムの外部から当該システムへの全ての入力に対する応答(出力)は、次のチェックポイントまで待機される。
特開2000−194624号公報
On the other hand, as described in Patent Document 1, for example, the checkpoint recovery method is a checkpoint set when a computer system communicates with the outside of the system (another computer system) via a network. The history of input / output (transmission / reception) to / from the network is stored, and when a failure occurs in the system, the state of the system is restored using the stored history. Here, responses (outputs) to all inputs to the system from the outside of the computer system are waited until the next checkpoint.
JP 2000-194624 A

上記したように、従来のスナップショットリカバリー方式では、計算機システムの状態を最新のスナップショットを取得した時点にしか復元できず、当該最新のスナップショットを取得した後の状態に関しては復元が不可能である。   As described above, with the conventional snapshot recovery method, the computer system state can be restored only when the latest snapshot is obtained, and the state after the latest snapshot is obtained cannot be restored. is there.

一方、従来のチェックポイントリカバリー方式(特許文献1に記載のチェックポイントリカバリー方式)では、チェックポイント以後の履歴により計算機システムの状態の回復を行うことを可能にしている。しかし、特許文献1に記載のチェックポイントリカバリー方式では、計算機システムの外部から当該システムへの全ての入力に対する応答(出力)は、次のチェックポイントまで待機させる必要がある。このためためチェックポイントリカバリー方式では、計算機システムにおける通常処理における性能が低下する。また、チェックポイントは計算機システムが外部に対して整合性を保てる状態でなければ取得することができない。   On the other hand, the conventional checkpoint recovery method (checkpoint recovery method described in Patent Document 1) makes it possible to recover the state of the computer system based on the history after the checkpoint. However, in the checkpoint recovery method described in Patent Document 1, responses (outputs) to all inputs to the system from the outside of the computer system need to wait until the next checkpoint. For this reason, in the checkpoint recovery method, the performance in normal processing in the computer system is degraded. Also, checkpoints cannot be acquired unless the computer system can maintain consistency with the outside.

このため、システム外部への出力を待機させることなく、外部との整合性を保てる状態の如何を問わずに、スナップショットより後の障害発生時点まで計算機システムの復元を可能とすることが要求される。   For this reason, it is required that the computer system can be restored to the point of failure after the snapshot, regardless of the state in which consistency with the outside can be maintained without waiting for output to the outside of the system. The

ところで近年は、仮想計算機(仮想マシン)を備えた仮想計算機システムが開発されている。仮想計算機は、物理計算機上で動作する仮想化された計算機として知られている。仮想計算機は、仮想化されたディスク、メモリ、CPU(プロセッサ)及びネットワークインタフェースを含む。この仮想計算機上にオペレーティングシステム(OS)、アプリケーション(アプリケーションプログラム)をインストールすることにより、当該OS、アプリケーションを実行させることができる。仮想計算機は、システム外部(外部システム)からネットワークを介して何らかの入力が行われると、当該入力に応じた処理の結果を当該入力に対する出力(応答)としてシステム外部に送出する。   By the way, in recent years, a virtual machine system including a virtual machine (virtual machine) has been developed. A virtual computer is known as a virtualized computer that operates on a physical computer. The virtual machine includes a virtualized disk, memory, CPU (processor), and network interface. By installing an operating system (OS) and applications (application programs) on this virtual machine, the OS and applications can be executed. When any input is made from outside the system (external system) via the network, the virtual machine sends the processing result corresponding to the input to the outside of the system as an output (response) to the input.

そこで、このような仮想計算機システムにおいても、例えば仮想計算機が動作する物理計算機に障害が発生した場合に、通常の計算機システムと同様に、当該仮想計算機の状態をスナップショットより後の時点(例えば障害発生時点)まで復元できるようにすることが要求されている。   Therefore, even in such a virtual machine system, for example, when a failure occurs in a physical machine on which the virtual machine operates, the state of the virtual machine is changed to a point in time after the snapshot (for example, a failure occurs) It is required to be able to restore until the time of occurrence).

本発明は上記事情を考慮してなされたものでその目的は、仮想計算機のシステム外部への出力を待機させることなく、外部との整合性を保てる状態の如何を問わずに、仮想計算機の状態をスナップショットより後の障害発生時点まで復元することができる仮想計算機システム及び同システムにおける仮想計算機復元方法を提供することにある。   The present invention has been made in consideration of the above circumstances, and its purpose is to make the state of the virtual machine independent of the state in which consistency with the outside can be maintained without waiting for the output of the virtual machine to the outside of the system. It is to provide a virtual machine system that can restore a virtual machine system to a point of failure after a snapshot and a virtual machine restoration method in the system.

本発明の1つの観点によれば仮想計算機システムが提供される。このシステムは、物理計算機と、前記物理計算機または当該物理計算機とネットワークを介して接続される別の物理計算機上で動作する仮想計算機のスナップショットを格納するのに用いられるスナップショット格納手段と、前記仮想計算機を利用する外部システム及び前記仮想計算機の間で入出力される通信データを通信のログとして時系列順に記録する通信記録手段とを具備する。前記物理計算機は、前記物理計算機上で前記仮想計算機が動作する場合に、当該仮想計算機の状態を当該仮想計算機のスナップショットとして取得して、前記スナップショット格納手段に格納するスナップショット取得手段と、前記物理計算機または前記別の物理計算機上で前記仮想計算機が動作している状態で当該仮想計算機が正常に機能することができない障害が発生した後、当該仮想計算機を前記物理計算機上で復元することが可能な状態になった場合に、前記スナップショット格納手段に格納されている当該仮想計算機の最新のスナップショットに基づき、当該仮想計算機を当該スナップショットが取得された第1の時点に復元するスナップショット復元手段と、前記第1の時点に復元された前記仮想計算機に、前記通信記録手段によって記録されている通信のログに含まれている前記第1の時点から前記障害の発生時である第2の時点までの入力データを時系列順に投入することにより、前記仮想計算機を前記第2の時点まで復元するログ再生手段とを含む。   According to one aspect of the present invention, a virtual computer system is provided. The system includes a physical computer, snapshot storage means used for storing a snapshot of a virtual computer operating on the physical computer or another physical computer connected to the physical computer via a network, and And an external system using a virtual machine and communication recording means for recording communication data inputted / outputted between the virtual machines in a chronological order as a communication log. The physical computer, when the virtual computer operates on the physical computer, acquires the state of the virtual computer as a snapshot of the virtual computer, and stores the snapshot in the snapshot storage unit; The virtual machine is restored on the physical computer after a failure that prevents the virtual machine from functioning normally while the virtual machine is operating on the physical computer or the other physical computer. Snap that restores the virtual machine to the first point in time when the snapshot was acquired based on the latest snapshot of the virtual machine stored in the snapshot storage means Shot restoration means, and the virtual machine restored at the first time point, the communication recording means By inputting input data from the first time point to the second time point when the failure occurs included in the communication log recorded in the above order, the virtual machine is moved in the time series. Log replaying means for restoring to the second time point.

本発明によれば、スナップショットにより仮想計算機を当該スナップショットの取得時点まで復元するのに加えて、外部システム及び仮想計算機の間で入出力される通信データを通信のログとして時系列順に記録しておき、当該スナップショットの取得時点まで復元された仮想計算機に対して、当該通信のログに含まれている当該スナップショットの取得時点から障害発生時点までの入力データを時系列順に投入することにより、仮想計算機のシステム外部への出力を待機させることなく、外部との整合性を保てる状態の如何を問わずに、仮想計算機を障害発生時点まで復元することができる。、   According to the present invention, in addition to restoring a virtual machine to a snapshot acquisition point by snapshot, communication data input / output between the external system and the virtual machine is recorded in time series as a communication log. By inputting the input data from the snapshot acquisition time to the failure occurrence time included in the communication log to the virtual machine restored to the snapshot acquisition time in chronological order The virtual machine can be restored to the point of failure regardless of the state in which the consistency with the outside can be maintained without waiting for the output of the virtual machine to the outside of the system. ,

以下、本発明の実施の形態につき図面を参照して説明する。
図1は本発明の一実施形態に係る仮想計算機システムの構成を示すブロック図である。図1の仮想計算機システムは、複数の物理計算機(物理サーバ計算機)、例えば2台の物理計算機10-1及び10-2を含む。物理計算機10-1及び10-2は、ネットワーク20に接続されている。
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 is a block diagram showing a configuration of a virtual machine system according to an embodiment of the present invention. The virtual computer system of FIG. 1 includes a plurality of physical computers (physical server computers), for example, two physical computers 10-1 and 10-2. The physical computers 10-1 and 10-2 are connected to the network 20.

物理計算機10-1及び10-2は、CPU、I/O装置、メモリ及びネットワークインタフェース(ネットワークインタフェースカード:NIC)のような周知のハードウェア資源(図示せず)を備えている。物理計算機10-1及び10-2が有するハードウェア資源は、仮想化されることにより、仮想計算機(仮想マシン)が動作する環境(仮想計算機実行環境)を提供する。図1では、物理計算機10-1の仮想計算機実行環境で仮想計算機11が動作している状態が示されている。なお、物理計算機10-1上で、仮想計算機11を含む複数の仮想計算機が動作する構成であっても構わない。   The physical computers 10-1 and 10-2 include well-known hardware resources (not shown) such as a CPU, an I / O device, a memory, and a network interface (network interface card: NIC). The hardware resources of the physical computers 10-1 and 10-2 are virtualized to provide an environment (virtual computer execution environment) in which the virtual computer (virtual machine) operates. FIG. 1 shows a state in which the virtual machine 11 is operating in the virtual machine execution environment of the physical machine 10-1. Note that a configuration in which a plurality of virtual machines including the virtual machine 11 operate on the physical machine 10-1 may be employed.

物理計算機10-1及び10-2上では、ハイパーバイザー12-1及び12-2がそれぞれ動作する。ハイパーバイザー12-1及び12-2は、仮想計算機マネージャ(仮想マシンマネージャ:VMM)または仮想計算機モニタ(仮想マシンモニタ:VMM)とも呼ばれる。ハイパーバイザー12-1及び12-2は、それぞれ、物理計算機10-1及び10-2が有する上述のハードウェア資源の利用を管理することで、仮想計算機を管理する。例えばハイパーバイザー12-1及び12-2は、物理計算機10-1及び10-2が有するハードウェア資源を仮想化することにより仮想計算機が動作する仮想計算機実行環境を提供する。つまりハイパーバイザー12-1及び12-2は、仮想化されたハードウェア資源を有する仮想計算機を構築する。   The hypervisors 12-1 and 12-2 operate on the physical computers 10-1 and 10-2, respectively. The hypervisors 12-1 and 12-2 are also called a virtual machine manager (virtual machine manager: VMM) or a virtual machine monitor (virtual machine monitor: VMM). The hypervisors 12-1 and 12-2 manage the virtual computers by managing the use of the above-described hardware resources of the physical computers 10-1 and 10-2, respectively. For example, the hypervisors 12-1 and 12-2 provide a virtual computer execution environment in which a virtual computer operates by virtualizing hardware resources of the physical computers 10-1 and 10-2. That is, the hypervisors 12-1 and 12-2 construct a virtual computer having virtualized hardware resources.

物理計算機10-1上で動作する仮想計算機11は、システム部13とアダプタ14とから構成される。システム部13は、仮想計算機11の本体であり、仮想計算機11上で動作するOS(オペレーティングシステム)に従ってアプリケーション(アプリケーションプログラム)を実行する。これによりシステム部13は、アダプタ14、ネットワーク20及び後述するスイッチ30を介して外部システム40との入力及び出力を行う。   The virtual computer 11 operating on the physical computer 10-1 includes a system unit 13 and an adapter 14. The system unit 13 is a main body of the virtual machine 11 and executes an application (application program) according to an OS (operating system) operating on the virtual machine 11. As a result, the system unit 13 performs input and output with the external system 40 via the adapter 14, the network 20, and the switch 30 described later.

アダプタ14は、仮想計算機11(内のシステム部13)のインタフェース機構をなしている。アダプタ14は、入出力機構141、ログ格納部142、ログ格納処理機構143、ログ再生機構144及びログ比較機構145を含む。   The adapter 14 constitutes an interface mechanism for the virtual machine 11 (the internal system unit 13). The adapter 14 includes an input / output mechanism 141, a log storage unit 142, a log storage processing mechanism 143, a log reproduction mechanism 144, and a log comparison mechanism 145.

入出力機構141は、システム部13とネットワーク20との間の入出力を行う。入出力機構141はまた、物理計算機10-1に障害が発生した結果、当該物理計算機10-1上で動作していた仮想計算機11の状態を復元するためにスイッチ30内の後述するログ送信機構35からログ(通信の履歴)が送信された場合、当該ログを入力してログ格納処理機構143に渡す。ログ格納部142は、ログ送信機構35から送信されたログを一時格納するのに用いられる。本実施形態においてログ格納部142は、物理計算機10-1が持つメモリの領域を割り当てることによって実現される。ログ格納処理機構143は、入出力機構141から渡されたログをログ格納部142に格納する。   The input / output mechanism 141 performs input / output between the system unit 13 and the network 20. The input / output mechanism 141 is also a log transmission mechanism (to be described later) in the switch 30 in order to restore the state of the virtual machine 11 operating on the physical machine 10-1 as a result of the failure of the physical machine 10-1. When a log (communication history) is transmitted from 35, the log is input and passed to the log storage processing mechanism 143. The log storage unit 142 is used to temporarily store a log transmitted from the log transmission mechanism 35. In this embodiment, the log storage unit 142 is realized by allocating a memory area of the physical computer 10-1. The log storage processing mechanism 143 stores the log passed from the input / output mechanism 141 in the log storage unit 142.

ログ再生機構144は、ログ格納部142に格納されたログに基づき、システム部13への入力及び当該入力に伴うシステム部13からの出力(つまりシステム部13へ/からの入出力)を再生(再現)する。ログ比較機構145は、システム部13の状態の復元時に、システム部13への入力に対する当該システム部13からの出力を上記ログに含まれている当該入力に対する出力と比較する。   The log reproduction mechanism 144 reproduces an input to the system unit 13 and an output from the system unit 13 (that is, an input / output to / from the system unit 13) according to the input based on the log stored in the log storage unit 142 ( Reproduce. When the state of the system unit 13 is restored, the log comparison mechanism 145 compares the output from the system unit 13 with respect to the input to the system unit 13 with the output with respect to the input included in the log.

ハイパーバイザー12-1は、スナップショット管理機構121及びスナップショット格納部122を含む。スナップショット管理機構121は、例えば定期的に、システム部13を含む仮想計算機11の状態をスナップショットとして取得するスナップショット取得機能を有する。スナップショット管理機構121はまた、取得されたスナップショットにより仮想計算機11をスナップショット取得時点に復元するスナップショット復元機能を有する。仮想計算機11の状態は、当該仮想計算機11に割り当てられているCPUの状態(プログラムカウンタ及びレジスタの状態)及びメモリの状態を含む。   The hypervisor 12-1 includes a snapshot management mechanism 121 and a snapshot storage unit 122. The snapshot management mechanism 121 has a snapshot acquisition function that periodically acquires the state of the virtual machine 11 including the system unit 13 as a snapshot, for example. The snapshot management mechanism 121 also has a snapshot restoration function for restoring the virtual machine 11 to the snapshot acquisition time point using the acquired snapshot. The state of the virtual machine 11 includes a CPU state (program counter and register state) and a memory state assigned to the virtual machine 11.

スナップショット格納部122は、スナップショット管理機構121によって取得されたスナップショットを格納するのに用いられる。本実施形態においてスナップショット格納部122は、物理計算機10-1が持つディスク装置のような永続的記憶装置の領域を割り当てることによって実現される。なお、スナップショット格納部122が、物理計算機10-1及び10-2で共有される共有ディスク装置(図示せず)の領域を割り当てることによって実現されても構わない。
図1では省略されているが、ハイパーバイザー12-2も、ハイパーバイザー12-1と同様の構成を有している。
The snapshot storage unit 122 is used to store a snapshot acquired by the snapshot management mechanism 121. In this embodiment, the snapshot storage unit 122 is realized by allocating an area of a permanent storage device such as a disk device possessed by the physical computer 10-1. The snapshot storage unit 122 may be realized by allocating an area of a shared disk device (not shown) shared by the physical computers 10-1 and 10-2.
Although omitted in FIG. 1, the hypervisor 12-2 has the same configuration as the hypervisor 12-1.

ネットワーク20には、計算機システム相互をネットワーク20を介して接続するためのスイッチ30が接続されている。図1の状態では、スイッチ30は、外部システム40をネットワーク20を介して物理計算機10-1上の仮想計算機11と接続している。外部システム40は、物理計算機10-1(上の仮想計算機11)の外部の計算機システムを指す。本実施形態において外部システム40は、物理計算機10-1(上の仮想計算機11)が提供するサービスを受けるクライアント端末であるが、物理計算機10-1と同様の計算機システム(物理サーバ計算機)であっても構わない。   A switch 30 for connecting computer systems to each other via the network 20 is connected to the network 20. In the state of FIG. 1, the switch 30 connects the external system 40 to the virtual computer 11 on the physical computer 10-1 via the network 20. The external system 40 refers to a computer system external to the physical computer 10-1 (the virtual computer 11 above). In this embodiment, the external system 40 is a client terminal that receives a service provided by the physical computer 10-1 (the upper virtual computer 11), but is a computer system (physical server computer) similar to the physical computer 10-1. It doesn't matter.

スイッチ30は、通信記録装置31を含む。通信記録装置31は、ネットワーク20及びスイッチ30を経由しての通信のログ(履歴)を取得して記録する。通信記録装置31は、ログ取得機構32、ログ格納部33、ログ保存処理機構34及びログ送信機構35から構成される。   The switch 30 includes a communication recording device 31. The communication recording device 31 acquires and records a log (history) of communication via the network 20 and the switch 30. The communication recording device 31 includes a log acquisition mechanism 32, a log storage unit 33, a log storage processing mechanism 34, and a log transmission mechanism 35.

ログ取得機構32は、ネットワーク20及びスイッチ30を経由しての通信のログを取得する。ここでは、説明を簡略化するために、ログ取得機構32によって取得されるログが、物理計算機10-1上の仮想計算機11(に含まれているシステム部13)と外部システム40との間で行われる、ネットワーク20及びスイッチ30を経由しての通信のログであるものとする。また、以降の説明では、外部システム40から物理計算機10-1上の仮想計算機11への通信(通信データ)を入力(入力データ)と呼び、その逆の仮想計算機11から外部システム40への通信(通信データ)を出力(出力データ)と呼ぶ。   The log acquisition mechanism 32 acquires a log of communication via the network 20 and the switch 30. Here, in order to simplify the description, the log acquired by the log acquisition mechanism 32 is between the virtual computer 11 (the system unit 13 included in the physical computer 10-1) and the external system 40. It is assumed that this is a log of communication performed via the network 20 and the switch 30. In the following description, communication (communication data) from the external system 40 to the virtual computer 11 on the physical computer 10-1 is referred to as input (input data), and vice versa, communication from the virtual computer 11 to the external system 40 is performed. (Communication data) is called output (output data).

ログ格納部33は、ログ取得機構32によって取得された通信のログ(入出力データ)を格納するのに用いられる記憶手段である。ログ保存処理機構34は、ログ取得機構32によって取得された入出力データを時系列順にログ格納部33に保存する。本実施形態では、ログ保存処理機構34によってログ格納部33に保存される入力データには、当該データが仮想計算機(ここでは仮想計算機11)に送られた時刻(通信時刻)を示す時刻情報が付される。ログ送信機構35は、後述する制御機構50からの指示に応じて、ログ格納部33に保存されている通信のログを指定の物理計算機上の仮想計算機に送信する。   The log storage unit 33 is a storage unit used to store a communication log (input / output data) acquired by the log acquisition mechanism 32. The log storage processing mechanism 34 stores the input / output data acquired by the log acquisition mechanism 32 in the log storage unit 33 in chronological order. In the present embodiment, the input data stored in the log storage unit 33 by the log storage processing mechanism 34 includes time information indicating the time (communication time) when the data is sent to the virtual machine (here, the virtual machine 11). Attached. The log transmission mechanism 35 transmits a communication log stored in the log storage unit 33 to a virtual computer on a designated physical computer in response to an instruction from the control mechanism 50 described later.

物理計算機10-1、物理計算機10-2及びスイッチ30は、ネットワーク21にも接続されている。このネットワーク21には、制御機構50も接続されている。制御機構50は、大別して2つの制御を行う。第1は、ネットワーク21に接続されている物理計算機上で動作している仮想計算機のスナップショットと当該仮想計算機が行う入出力のログ(通信のログ)との同期を取るための制御である。第2は、ネットワーク21に接続されている物理計算機に障害が発生した場合、当該物理計算機上で動作していた仮想計算機を、障害発生直前の状態に復元させるための制御である。   The physical computer 10-1, the physical computer 10-2, and the switch 30 are also connected to the network 21. A control mechanism 50 is also connected to the network 21. The control mechanism 50 roughly performs two controls. The first control is to synchronize a snapshot of a virtual machine operating on a physical computer connected to the network 21 and an input / output log (communication log) performed by the virtual machine. Second, when a failure occurs in a physical computer connected to the network 21, control is performed to restore the virtual computer operating on the physical computer to the state immediately before the failure.

なお、通信記録装置31が、ルータ、或いはプロキシサーバ(外部システム40から物理計算機10-1または10-2上で動作する仮想計算機へのアクセスを代理するプロキシサーバ)に設けられていてもよい。   Note that the communication recording device 31 may be provided in a router or a proxy server (a proxy server proxying access from the external system 40 to a virtual computer operating on the physical computer 10-1 or 10-2).

次に、図1に示す仮想計算機システムにおける動作について説明する。
まず、物理計算機10-1上のハイパーバイザー12-1に配置されたスナップショット管理機構121によるスナップショット取得の概略について、図2を参照して説明する。図2は、仮想計算機11の状態とスナップショット時刻とスナップショットとの関係を示す。
Next, operations in the virtual machine system shown in FIG. 1 will be described.
First, an outline of snapshot acquisition by the snapshot management mechanism 121 arranged in the hypervisor 12-1 on the physical computer 10-1 will be described with reference to FIG. FIG. 2 shows the relationship between the state of the virtual machine 11, the snapshot time, and the snapshot.

本実施形態においてスナップショット管理機構121は、スナップショット取得手段として機能して、定期的に仮想計算機11のスナップショットを取得する。ここでは、スナップショット取得時刻として、時刻t1及びt2を含むものとする。この場合、スナップショット管理機構121は、時刻t1における仮想計算機11の状態(システム部13の状態を含む仮想計算機11の状態)201を、時刻t1におけるスナップショット202として取得する。またスナップショット管理機構121は、時刻t2における仮想計算機11の状態203を、時刻t2におけるスナップショット204として取得する。取得されたスナップショット202及び204はスナップショット格納部122に格納される。なお、スナップショット格納部122には、取得されたスナップショットの世代を管理するためのスナップショット管理情報も格納される。   In this embodiment, the snapshot management mechanism 121 functions as a snapshot acquisition unit and periodically acquires a snapshot of the virtual machine 11. Here, time t1 and t2 are included as snapshot acquisition times. In this case, the snapshot management mechanism 121 acquires the state 201 of the virtual machine 11 at time t1 (the state of the virtual machine 11 including the state of the system unit 13) 201 as the snapshot 202 at time t1. Further, the snapshot management mechanism 121 acquires the state 203 of the virtual machine 11 at time t2 as the snapshot 204 at time t2. The acquired snapshots 202 and 204 are stored in the snapshot storage unit 122. The snapshot storage unit 122 also stores snapshot management information for managing the acquired snapshot generation.

このように、時刻t1及びt2における、それぞれ仮想計算機11のスナップショット202及び204を取得してスナップショット格納部122に格納しておくことにより、時刻t2より後の任意の時刻t2+Δtにおいて、仮想計算機11を時刻t1またはt2の状態に復元することが可能となる。なお、スナップショット格納部122に最新のスナップショットのみを格納する構成を適用する場合には、仮想計算機11を時刻t2の状態にのみ復元することができる。いずれにしても、少なくとも時刻t2の状態に、仮想計算機11を復元することが可能となる。   As described above, by acquiring the snapshots 202 and 204 of the virtual machine 11 at the times t1 and t2, respectively, and storing them in the snapshot storage unit 122, at any time t2 + Δt after the time t2, the virtual machine 11 can be restored to the state at time t1 or t2. Note that when applying a configuration in which only the latest snapshot is stored in the snapshot storage unit 122, the virtual machine 11 can be restored only to the state at time t2. In any case, the virtual machine 11 can be restored to at least the state at time t2.

次に、スイッチ30内の通信記録装置31による、仮想計算機11(のシステム部13)と外部システム40との間の通信のログの記録について、図3を参照して説明する。図3は、外部システム40から仮想計算機11への通信(入力)時におけるデータ(入力データ)の流れと、当該入力データに対する仮想計算機11から外部システム40への通信(出力)時におけるデータ(出力データ)の流れとを示す。   Next, recording of a log of communication between the virtual computer 11 (system unit 13 thereof) and the external system 40 by the communication recording device 31 in the switch 30 will be described with reference to FIG. FIG. 3 shows a flow of data (input data) at the time of communication (input) from the external system 40 to the virtual machine 11 and data (output) at the time of communication (output) from the virtual machine 11 to the external system 40 for the input data. Data) flow.

まず、外部システム40からの仮想計算機11(のシステム部13)宛てのデータ(入力データ)301はスイッチ30を経由して仮想計算機11のアダプタ14に送られる。アダプタ14(内の入出力機構141)は、この外部システム40からの入力データ301をシステム部13に入力する。   First, data (input data) 301 addressed to the virtual machine 11 (system unit 13 thereof) from the external system 40 is sent to the adapter 14 of the virtual machine 11 via the switch 30. The adapter 14 (internal input / output mechanism 141) inputs the input data 301 from the external system 40 to the system unit 13.

スイッチ30に設けられた通信記録装置31内のログ取得機構32は、入力データ301が当該スイッチ30を経由する際に、当該入力データ301を通信のログとして取得する。通信記録装置31内のログ保存処理機構34は、ログ取得機構32によって取得された入力データ301を、時系列を保ってログ格納部33に保存する。この入力データの保存に際して、本実施形態におけるログ保存処理機構34は、その時点における時刻(通信時刻)を表す時刻情報を当該入力データに付す。   The log acquisition mechanism 32 in the communication recording device 31 provided in the switch 30 acquires the input data 301 as a communication log when the input data 301 passes through the switch 30. The log storage processing mechanism 34 in the communication recording device 31 stores the input data 301 acquired by the log acquisition mechanism 32 in the log storage unit 33 while maintaining the time series. When storing the input data, the log storage processing mechanism 34 in the present embodiment attaches time information indicating the time (communication time) at that time to the input data.

仮想計算機11のシステム部13は、アダプタ14(内の入出力機構141)によって入力された入力データ301を受け取ると、当該入力データ301に基づく処理を行って、その処理結果としての外部システム40宛ての出力データ302をアダプタ14(内の入出力機構141)に渡す。アダプタ14(内の入出力機構141)は、この出力データ302を外部システム40に送信するために、当該出力データ302をネットワーク20上に送出する。ネットワーク20上に送出された外部システム40宛ての出力データ302は、スイッチ30を経由して当該外部システム40に送られる。   When the system unit 13 of the virtual machine 11 receives the input data 301 input by the adapter 14 (internal input / output mechanism 141), the system unit 13 performs processing based on the input data 301 and addresses the external system 40 as the processing result. Is output to the adapter 14 (internal input / output mechanism 141). The adapter 14 (internal input / output mechanism 141) sends the output data 302 to the network 20 in order to send the output data 302 to the external system 40. The output data 302 sent to the external system 40 sent over the network 20 is sent to the external system 40 via the switch 30.

スイッチ30に設けられた通信記録装置31内のログ取得機構32は、仮想計算機11のシステム部13からの出力データ302が当該スイッチ30を経由する際に、当該出力データ302を通信のログとして取得する。通信記録装置31内のログ保存処理機構34は、ログ取得機構32によって取得された出力データ302を、時系列を保ってログ格納部33に保存する。   The log acquisition mechanism 32 in the communication recording device 31 provided in the switch 30 acquires the output data 302 as a communication log when the output data 302 from the system unit 13 of the virtual computer 11 passes through the switch 30. To do. The log storage processing mechanism 34 in the communication recording device 31 stores the output data 302 acquired by the log acquisition mechanism 32 in the log storage unit 33 while maintaining the time series.

このようにして、仮想計算機11のシステム部13と外部システム40との間の通信で入出力されるデータが、通信のログとして、スイッチ30に設けられた通信記録装置31内のログ格納部33に時系列順に格納(記録)される。   In this way, data input / output by communication between the system unit 13 of the virtual computer 11 and the external system 40 is used as a communication log, and the log storage unit 33 in the communication recording device 31 provided in the switch 30. Are stored (recorded) in chronological order.

図4(a)は、ログ格納部33に時系列順に格納された入出力データの列を含むログの一例を示す。図4(a)においてI1,I2,I3…は入力データ、O1,O2,O3…はそれぞれ入力データI1,I2,I3…に対応する出力データである。図4(a)の例では、ログ内の入出力データの列はI1→O1→I2→O2→I3→O3→…の順である。しかし、Ii(i=1,2,3…)の次に当該Iiに対応するOiが出力されるとは限らない。入力データI1,I2,I3…には、それぞれ当該データI1,I2,I3…が仮想計算機11に送られた(入力された)時刻t21,t22,t23…を表す時刻情報が付されている。   FIG. 4A shows an example of a log including a column of input / output data stored in the log storage unit 33 in chronological order. In FIG. 4A, I1, I2, I3... Are input data, and O1, O2, O3... Are output data corresponding to the input data I1, I2, I3. In the example of FIG. 4A, the input / output data columns in the log are in the order of I1, O1, I2, O2, I3, O3,. However, Oi corresponding to Ii is not always output after Ii (i = 1, 2, 3,...). The input data I1, I2, I3,... Have time information indicating the times t21, t22, t23,.

図4(a)に示されるような、ログ格納部33に時系列順に格納された通信のログを用いることにより、以下に述べるように、仮想計算機11を上述の時刻t2+Δtにおける状態205(図2参照)に復元することができる。   By using a communication log stored in the log storage unit 33 in chronological order as shown in FIG. 4A, the virtual machine 11 can be in the state 205 (FIG. 2) at the above-described time t2 + Δt as described below. Reference) can be restored.

次に、時刻t2における仮想計算機11のスナップショット204が取得された後の上記時刻t2+Δtに物理計算機10-1の障害が発生した結果、仮想計算機11(のシステム部13)が正常に機能することができなくなったものとする。この場合、仮想計算機11を時刻(障害発生時刻)t2+Δtの状態に復元する仮想計算機復元処理(システム復元処理)が行われる。なお、仮想計算機11(のシステム部13)が正常に機能できない状態は、仮想計算機11のシステム部13、及びハイパーバイザー12-1のいずれか一方または両方に障害が発生した場合に発生する。このシステム部13及びハイパーバイザー12-1のいずれか一方または両方の障害は、物理計算機10-1の障害だけでなく、ソフトウェアのバグ等によっても発生する。   Next, as a result of the failure of the physical computer 10-1 at the time t2 + Δt after the snapshot 204 of the virtual computer 11 at the time t2 is acquired, the virtual computer 11 (the system unit 13 thereof) functions normally. Suppose that it is no longer possible. In this case, a virtual machine restoration process (system restoration process) for restoring the virtual machine 11 to the state of time (failure occurrence time) t2 + Δt is performed. The state in which the virtual computer 11 (the system unit 13 thereof) cannot function normally occurs when a failure occurs in one or both of the system unit 13 and the hypervisor 12-1 of the virtual computer 11. The failure of one or both of the system unit 13 and the hypervisor 12-1 occurs not only due to a failure of the physical computer 10-1, but also due to a software bug or the like.

以下、仮想計算機復元処理について説明する。まず、物理計算機10-1の障害が回復し、当該物理計算機10-1が再起動されたものとする。すると物理計算機10-1上でハイパーバイザー12-1が再起動する。ハイパーバイザー12-1は、当該ハイパーバイザー12-1上に仮想計算機11を再生成する。制御機構50はハイパーバイザー12-1内のスナップショット管理機構121に対して、スナップショットによる仮想計算機11の復元を依頼する。   Hereinafter, the virtual machine restoration process will be described. First, it is assumed that the failure of the physical computer 10-1 has been recovered and the physical computer 10-1 has been restarted. Then, the hypervisor 12-1 is restarted on the physical computer 10-1. The hypervisor 12-1 regenerates the virtual machine 11 on the hypervisor 12-1. The control mechanism 50 requests the snapshot management mechanism 121 in the hypervisor 12-1 to restore the virtual machine 11 using the snapshot.

スナップショット管理機構121は、制御機構50からの復元依頼を受けてスナップショット復元手段として機能して、スナップショット格納部122に保存されている最新のスナップショット、即ち時刻t2に取得されたスナップショット204(図2参照)に基づいて、仮想計算機11を、当該仮想計算機11のシステム部13を含めて時刻t2の状態に復元する。つまりスナップショット管理機構121は、スナップショットが取得された時刻t2(第1の時点)の状態の仮想計算機11を復元する。なお、スナップショット管理機構121に代えて、上述のスナップショット取得手段(スナップショット取得機構)とスナップショット復元手段(スナップショット復元機構)とを個々に設けることも可能である。   Upon receiving a restoration request from the control mechanism 50, the snapshot management mechanism 121 functions as a snapshot restoration unit, and the latest snapshot stored in the snapshot storage unit 122, that is, the snapshot acquired at time t2. Based on 204 (see FIG. 2), the virtual machine 11 is restored to the state at time t2 including the system unit 13 of the virtual machine 11. That is, the snapshot management mechanism 121 restores the virtual machine 11 in the state at the time t2 (first time point) when the snapshot is acquired. Instead of the snapshot management mechanism 121, the above-described snapshot acquisition means (snapshot acquisition mechanism) and snapshot restoration means (snapshot restoration mechanism) can be provided individually.

さて、スナップショット管理機構121によって復元された仮想計算機11には、時刻t2の状態のシステム部13が存在する。しかし、外部システム40は既に時刻t2よりΔtだけ進んだ時刻t2+Δtの状態にある。このため、外部システム40は、物理計算機10-1の障害発生直前まで仮想計算機11と通信を行っていたにも拘わらず、時刻t2の状態に復元された仮想計算機11との間で、殆どの場合において正常に通信を行うことができない。つまり外部システム40は、処理を継続することができない。   Now, the virtual machine 11 restored by the snapshot management mechanism 121 has the system unit 13 in the state at time t2. However, the external system 40 is already in a state of time t2 + Δt, which is advanced by Δt from time t2. For this reason, the external system 40 communicates with the virtual computer 11 until just before the failure of the physical computer 10-1 in spite of the fact that most of the external system 40 is restored to the state at time t2. In some cases, communication cannot be performed normally. That is, the external system 40 cannot continue processing.

そこで本実施形態では、スイッチ30内の通信記録装置31により記録されているログを利用することにより、時刻t2の状態に復元された仮想計算機11をt2+Δtの状態に復帰させることを可能にする。そのため、時刻t2の状態の仮想計算機11が復元されると、通信記録装置31内のログ送信機構35は、ログ格納部33に格納されているログを、仮想計算機11のアダプタ14にネットワーク20を介して送信する。   Therefore, in the present embodiment, by using the log recorded by the communication recording device 31 in the switch 30, the virtual computer 11 restored to the state at time t2 can be returned to the state of t2 + Δt. Therefore, when the virtual computer 11 in the state at time t2 is restored, the log transmission mechanism 35 in the communication recording device 31 transfers the log stored in the log storage unit 33 to the adapter 14 of the virtual computer 11 via the network 20. Send through.

ログ送信機構35からアダプタ14に送信されたログは、当該アダプタ14内の入出力機構141で受け取られて、ログ格納部142に格納される。入出力機構141は、ログ送信機構35から送信されたログを受け取ると、当該ログをログ格納処理機構143に渡す。するとログ格納処理機構143は、入出力機構141から渡されたログをログ格納部142に格納する。アダプタ14内のログ再生機構144は、ログ格納部142に格納されたログに含まれている入力データを仮想計算機11のシステム部13に時系列順に再投入する。このログに含まれている入力データを時系列順にシステム部13に再投入することを、ログの再生と呼ぶ。   The log transmitted from the log transmission mechanism 35 to the adapter 14 is received by the input / output mechanism 141 in the adapter 14 and stored in the log storage unit 142. When the input / output mechanism 141 receives the log transmitted from the log transmission mechanism 35, the input / output mechanism 141 passes the log to the log storage processing mechanism 143. Then, the log storage processing mechanism 143 stores the log passed from the input / output mechanism 141 in the log storage unit 142. The log reproduction mechanism 144 in the adapter 14 re-enters the input data included in the log stored in the log storage unit 142 into the system unit 13 of the virtual machine 11 in chronological order. Re-inputting input data included in the log into the system unit 13 in time series order is called log reproduction.

本実施形態では、仮想計算機11のスナップショットが取得された時点で、スイッチ30内の通信記録装置31のログ格納部33に格納されているログのデータ(入出力データ)は全て削除される。したがって、時刻t2のスナップショットに基づいて仮想計算機11が当該時刻t2の状態に復元された場合、時系列順に再投入される入力データは、時刻t2以降に取得された(時刻t2以降の)入力データとなる。この時刻t2以降の入力データが、図4(a)に示されるログに含まれているI1,I2,I3…であるものとする。   In the present embodiment, all log data (input / output data) stored in the log storage unit 33 of the communication recording device 31 in the switch 30 is deleted when the snapshot of the virtual machine 11 is acquired. Therefore, when the virtual machine 11 is restored to the state at the time t2 based on the snapshot at the time t2, the input data re-entered in time-series order is input acquired after the time t2 (after the time t2). It becomes data. Assume that the input data after time t2 are I1, I2, I3,... Included in the log shown in FIG.

本実施形態では、仮想計算機11をt2+Δtの状態に復元する際の精度の向上のために、ログに含まれている時刻t2以降の入力データIi(i=1,2,3…)が、当該入力データIiに付された時刻情報に従って、先に入力されたのと相対時刻が同一の入力タイミングで、つまり先の入力タイミングを守って再投入される。これにより、時刻t2+Δtまでの期間における仮想計算機11の状態を高精度に再現させることが可能となる。但し、入力タイミングは必ずしも守る必要はなく、その場合、必ずしも入力データIiに時刻情報を付さなくてもよい。   In the present embodiment, in order to improve the accuracy when the virtual machine 11 is restored to the state of t2 + Δt, the input data Ii (i = 1, 2, 3,...) Included in the log after the time t2 is In accordance with the time information attached to the input data Ii, the input is re-input at the same input timing as that input earlier, that is, while keeping the previous input timing. As a result, the state of the virtual machine 11 during the period up to time t2 + Δt can be reproduced with high accuracy. However, it is not always necessary to observe the input timing. In this case, time information may not necessarily be attached to the input data Ii.

さて、仮想計算機11のシステム部13は、ログに含まれている入力データIiがログ再生機構144によって当該システム部13に再投入されると、その入力データIiを処理する。これによりシステム部13は、入力データIiが投入された際の状態から当該入力データIiで決まる新たな状態に遷移して、当該入力データIiに対する出力データOi’を出力する。このため、ログに含まれている時刻t2以降の入力データIiを時系列順にシステム部13に再投入することによって、時刻t(第1の時点)の状態に復元された仮想計算機11を時刻t2+Δt(第2の時点)の状態へ前進させることができる。   The system unit 13 of the virtual computer 11 processes the input data Ii when the input data Ii included in the log is re-entered into the system unit 13 by the log reproduction mechanism 144. As a result, the system unit 13 transitions from the state when the input data Ii is input to a new state determined by the input data Ii, and outputs the output data Oi ′ for the input data Ii. For this reason, the virtual computer 11 restored to the state at time t (first time point) is restored to time t2 + Δt by re-inputting the input data Ii after time t2 included in the log into the system unit 13 in time series order. It is possible to advance to the state of (second time point).

ここで、仮想計算機11が時刻t2+Δtの状態に復元されたことを確認することができるならば、当該仮想計算機11の復元の精度をより向上させることができる。そこで本実施形態では、システム部13から出力される出力データOi’は、入出力機構141だけでなくログ比較機構145にも導かれる。ログ比較機構145は仮想計算機11を復元する処理が行われる期間(つまり復元モードの期間)、入力データIiの再投入に応じてシステム部13から出力される出力データOi’を、ログ格納部33に格納されているログに含まれている出力データのうち、上記入力データIi(出力データOiに対応する入力データIi)が障害発生前にシステム部13に入力された際に当該システム部13から出力された出力データOiと比較する。一方、上記復元モードの期間、入出力機構141は入出力を停止し、システム部13から出力される出力データOi’をフィルタリング(ブロック)する。入力データIiに対応する出力データOiは、送受信先のアドレスやポート情報によるマッチングや通信セッションの解析結果をもとにして特定することができる。   Here, if it can be confirmed that the virtual machine 11 has been restored to the state at time t2 + Δt, the accuracy of restoration of the virtual machine 11 can be further improved. Therefore, in this embodiment, the output data Oi ′ output from the system unit 13 is guided not only to the input / output mechanism 141 but also to the log comparison mechanism 145. The log comparison unit 145 outputs the output data Oi ′ output from the system unit 13 in response to the re-input of the input data Ii during the period during which the process of restoring the virtual computer 11 is performed (that is, the period of the restoration mode). When the input data Ii (input data Ii corresponding to the output data Oi) is input to the system unit 13 before the failure occurs, the output data included in the log stored in the The output data Oi is compared. On the other hand, during the restoration mode, the input / output mechanism 141 stops input / output and filters (blocks) the output data Oi ′ output from the system unit 13. The output data Oi corresponding to the input data Ii can be specified based on matching based on the transmission / reception destination address and port information and the analysis result of the communication session.

ログ比較機構145は、出力データOi’及びOiが一致している場合、上記ログ内で当該出力データOiに対応する入力データIiに付されている時刻情報の示す時刻の状態に、仮想計算機11が正しく復元されたと判定する。これに対して出力データOi’及びOiが一致していない場合、ログ比較機構145は、仮想計算機11が正しく復元されなかったと判定する。このようにログ比較機構145は、仮想計算機11のシステム部13における再生状況を監視することによって。仮想計算機11が正しく復元されたかを判定する。   When the output data Oi ′ and Oi match, the log comparison mechanism 145 sets the virtual machine 11 to the time state indicated by the time information attached to the input data Ii corresponding to the output data Oi in the log. Is determined to have been restored correctly. On the other hand, if the output data Oi ′ and Oi do not match, the log comparison mechanism 145 determines that the virtual computer 11 has not been correctly restored. In this way, the log comparison mechanism 145 monitors the reproduction status in the system unit 13 of the virtual machine 11. It is determined whether the virtual machine 11 has been correctly restored.

なお、ログ格納部33に格納されているログをログ送信機構35が仮想計算機11のアダプタ14に送信する際に、当該ログに含まれている入出力データの時系列を、入力データの時系列順に、入力データと当該入力データに対応する出力データの組の列に加工して、その加工されたログをアダプタ14に送信するようにしてもよい。この加工をアダプタ14側で行っても構わない。図4(b)に、図4(a)に示されるログを加工した場合の、その加工されたログの例を示す。   When the log transmission mechanism 35 transmits the log stored in the log storage unit 33 to the adapter 14 of the virtual machine 11, the time series of the input / output data included in the log is changed to the time series of the input data. In order, the data may be processed into a set of input data and output data corresponding to the input data, and the processed log may be transmitted to the adapter 14. This processing may be performed on the adapter 14 side. FIG. 4B shows an example of the processed log when the log shown in FIG. 4A is processed.

次にスナップショット取得及び静止点作成を含む処理の流れについて、図5のシーケンスチャートを参照して説明する。
制御機構50は、物理計算機10-1上で動作する仮想計算機11のスナップショットが取得されるべき時刻(例えば時刻t2)が到来すると、スイッチ30内の通信記録装置31に含まれているログ取得機構32に対して静止点作成依頼を発行する(ステップ501)。これを受けてログ取得機構32は、スナップショット管理機構121によるスナップショット取得のための静止点を作成する(ステップ502)。ここでは、時刻t2が静止点として作成される。この場合、後述するように、ログ格納部33に格納されているログが削除される。
Next, the flow of processing including snapshot acquisition and still point creation will be described with reference to the sequence chart of FIG.
The control mechanism 50 acquires the log included in the communication recording device 31 in the switch 30 when the time (for example, time t2) at which the snapshot of the virtual computer 11 operating on the physical computer 10-1 is to be acquired has arrived. A still point creation request is issued to the mechanism 32 (step 501). In response to this, the log acquisition mechanism 32 creates a quiesce point for snapshot acquisition by the snapshot management mechanism 121 (step 502). Here, time t2 is created as a stationary point. In this case, as will be described later, the log stored in the log storage unit 33 is deleted.

ログ取得機構32は時刻t2に静止点を作成すると(ステップ502)、静止点作成依頼に対する応答(静止点の作成によりスナップショット取得が可能となった旨の応答)を制御機構50に返す(ステップ503)。すると制御機構50は、仮想計算機11のアダプタ14に含まれている入出力機構141に対して入出力停止依頼を発行する(ステップ504)。これを受けて入出力機構141は、当該入出力機構141とネットワーク20との間の入出力(通信)を停止(凍結)する(ステップ505)。これにより、ログ取得機構32によって作成された静止点が、スナップショット取得のための静止点として確定される。   When the log acquisition mechanism 32 creates a quiesce point at time t2 (step 502), the log acquisition mechanism 32 returns a response to the quiesce point creation request (response that snapshot acquisition has become possible due to the creation of the quiesce point) to the control mechanism 50 (step step). 503). Then, the control mechanism 50 issues an input / output stop request to the input / output mechanism 141 included in the adapter 14 of the virtual machine 11 (step 504). In response to this, the input / output mechanism 141 stops (freezes) input / output (communication) between the input / output mechanism 141 and the network 20 (step 505). Thereby, the quiesce point created by the log acquisition mechanism 32 is determined as a quiesce point for snapshot acquisition.

入出力機構141は、ネットワーク20との間の入出力を停止すると(ステップ505)、入出力停止依頼に対する応答を制御機構50に返す(ステップ506)。すると制御機構50は、スナップショット管理機構121に対してスナップショット取得依頼を発行する(ステップ507)。これを受けてスナップショット管理機構121は、仮想計算機11のスナップショットを取得する(ステップ508)。このとき、つまり時刻t2以降、入出力機構141は入出力が停止(凍結)された状態にある。このため、スナップショット管理機構121は、静止点の時刻t2における仮想計算機11のスナップショットを高精度に取得することができる。明らかなように、取得されたスナップショットは、入出力機構141での入出力と同期が取れている。   When the input / output mechanism 141 stops the input / output to / from the network 20 (step 505), the input / output mechanism 141 returns a response to the input / output stop request to the control mechanism 50 (step 506). Then, the control mechanism 50 issues a snapshot acquisition request to the snapshot management mechanism 121 (step 507). In response to this, the snapshot management mechanism 121 acquires a snapshot of the virtual machine 11 (step 508). At this time, that is, after time t2, the input / output mechanism 141 is in a state where input / output is stopped (frozen). For this reason, the snapshot management mechanism 121 can acquire the snapshot of the virtual machine 11 at time t2 of the stationary point with high accuracy. As is apparent, the acquired snapshot is synchronized with the input / output of the input / output mechanism 141.

スナップショット管理機構121はスナップショットが取得できたなら(ステップ508)、スナップショット取得完了を通知するための応答を制御機構50に返す(ステップ509)。すると制御機構50は、ログ取得機構32に対して静止解除依頼を発行する(ステップ510)。これを受けてログ取得機構32は、ログ格納部33に格納されているログ、つまり時刻t2より前に取得されていた入出力データを削除し、設定された静止点を解除する(ステップ511)。以後、ログ取得機構32はスイッチ30を経由する通信データ(入出力データ)があれば、そのデータをログとして取得することが可能となる。   If the snapshot management mechanism 121 can acquire a snapshot (step 508), it returns a response for notifying completion of snapshot acquisition to the control mechanism 50 (step 509). Then, the control mechanism 50 issues a stillness release request to the log acquisition mechanism 32 (step 510). In response to this, the log acquisition mechanism 32 deletes the log stored in the log storage unit 33, that is, the input / output data acquired before time t2, and releases the set still point (step 511). . Thereafter, if there is communication data (input / output data) passing through the switch 30, the log acquisition mechanism 32 can acquire the data as a log.

ログ取得機構32は静止点を解除すると(ステップ511)、静止解除依頼に対する応答を制御機構50に返す(ステップ512)。すると制御機構50は、入出力機構141に対して入出力再開依頼を発行する(ステップ513)。これを受けて入出力機構141は、入出力停止状態を解除して入出力を再開する(ステップ514)。そして入出力機構141は、入出力再開依頼に対する応答を制御機構50に返す(ステップ515)。   When the log acquisition mechanism 32 releases the stationary point (step 511), it returns a response to the stationary cancellation request to the control mechanism 50 (step 512). Then, the control mechanism 50 issues an input / output restart request to the input / output mechanism 141 (step 513). In response to this, the input / output mechanism 141 releases the input / output suspension state and resumes input / output (step 514). The input / output mechanism 141 returns a response to the input / output restart request to the control mechanism 50 (step 515).

このように通信記録装置31における静止点の設定/解除に応じて、入出力機構141の入出力停止/入出力再開を制御すると共に、入出力機構141の入出力停止に応じてスナップショットの取得を制御することにより、取得されるスナップショットを、入出力機構141での入出力と高精度に同期させることができる。これによりログ再生機構144は、複雑な構成を必要とせずに、仮想計算機11のシステム部13に対して精度の高い入出力の再生を行わせることができる。   As described above, the input / output stop / input / output restart of the input / output mechanism 141 is controlled according to the setting / cancellation of the stationary point in the communication recording device 31 and the snapshot is acquired according to the input / output stop of the input / output mechanism 141 By controlling this, it is possible to synchronize the acquired snapshot with the input / output of the input / output mechanism 141 with high accuracy. Thereby, the log reproduction mechanism 144 can cause the system unit 13 of the virtual computer 11 to perform highly accurate input / output reproduction without requiring a complicated configuration.

次に、上述の仮想計算機復元処理の流れについて、図6のシーケンスチャートを参照して説明する。
制御機構50は、時刻t+Δtで物理計算機10-1に障害が発生したために仮想計算機11を復元させる必要がある場合、スナップショット管理機構121に対して、スナップショットにより仮想計算機11を復元するための復元依頼を発行する(ステップ601)。これを受けてスナップショット管理機構121は、スナップショット格納部122に保存されている最新のスナップショット(時刻t2に取得されたスナップショット204)に基づいて、時刻t2の状態の仮想計算機11を復元する(ステップ602)。そしてスナップショット管理機構121は、復元依頼に対する応答を制御機構50に返す(ステップ603)。
Next, the flow of the virtual machine restoration process described above will be described with reference to the sequence chart of FIG.
When it is necessary to restore the virtual computer 11 because a failure has occurred in the physical computer 10-1 at time t + Δt, the control mechanism 50 causes the snapshot management mechanism 121 to restore the virtual computer 11 by snapshot. A restoration request is issued (step 601). In response to this, the snapshot management mechanism 121 restores the virtual machine 11 at the time t2 based on the latest snapshot (the snapshot 204 acquired at the time t2) stored in the snapshot storage unit 122. (Step 602). Then, the snapshot management mechanism 121 returns a response to the restoration request to the control mechanism 50 (step 603).

制御機構50は、スナップショット管理機構121からの応答を受け取ると、通信記録装置31内のログ送信機構35に対して、ログ送信依頼を発行する(ステップ604)。これを受けてログ送信機構35は、ログ格納部33に格納されているログをアダプタ14内の入出力機構141に送信する(ステップ605)。入出力機構141は、ログ送信機構35から送信されたログを受け取ると、当該入出力機構141とネットワーク20との間の入出力を停止すると共に(ステップ606)、当該ログをログ格納処理機構143に渡す(ステップ607)。するとログ格納処理機構143は、入出力機構141から渡されたログをログ格納部142に格納し(ステップ608)、ログ格納完了を入出力機構141に通知する(ステップ609)。入出力機構141はログ格納処理機構143から通知されたログ格納完了をログ送信機構35に通知し(ステップ610)、ログ送信機構35は当該ログ格納完了通知に応じて、ログ送信依頼に対する送信完了応答を制御機構50に返す(ステップ611)
制御機構50は、ログ送信依頼に対するログ送信機構35からの送信完了応答を受け取ると、アダプタ14内のログ再生機構144に対してログ再生及び復元依頼を発行する(ステップ612)。ログ再生機構144は、制御機構50からログ再生及び復元依頼を受け取ると、ログ格納部142に格納されたログに含まれている入力データIi(i=1,2,3…)を仮想計算機11のシステム部13に時系列順に再投入することにより、障害発生前の当該システム部13の入出力状態を再現させるためのログ再生及び復元(つまり、仮想計算機11を時刻T2+Δtの状態まで順次復元するためのログ再生及び復元)を行う(ステップ613)。
Upon receiving the response from the snapshot management mechanism 121, the control mechanism 50 issues a log transmission request to the log transmission mechanism 35 in the communication recording device 31 (step 604). In response to this, the log transmission mechanism 35 transmits the log stored in the log storage unit 33 to the input / output mechanism 141 in the adapter 14 (step 605). When the input / output mechanism 141 receives the log transmitted from the log transmission mechanism 35, the input / output mechanism 141 stops input / output between the input / output mechanism 141 and the network 20 (step 606) and stores the log in the log storage processing mechanism 143. (Step 607). Then, the log storage processing mechanism 143 stores the log delivered from the input / output mechanism 141 in the log storage unit 142 (step 608), and notifies the input / output mechanism 141 of log storage completion (step 609). The input / output mechanism 141 notifies the log transmission mechanism 35 of the log storage completion notified from the log storage processing mechanism 143 (step 610), and the log transmission mechanism 35 completes transmission for the log transmission request in response to the log storage completion notification. A response is returned to the control mechanism 50 (step 611).
When receiving a transmission completion response from the log transmission mechanism 35 to the log transmission request, the control mechanism 50 issues a log reproduction and restoration request to the log reproduction mechanism 144 in the adapter 14 (step 612). When the log reproduction mechanism 144 receives a log reproduction and restoration request from the control mechanism 50, the log reproduction mechanism 144 converts the input data Ii (i = 1, 2, 3...) Included in the log stored in the log storage unit 142 into the virtual machine 11. Is re-entered into the system unit 13 in chronological order, thereby reproducing and restoring the log to reproduce the input / output state of the system unit 13 before the failure occurs (that is, the virtual machine 11 is sequentially restored to the state at time T2 + Δt. Log reproduction and restoration) (step 613).

さて、システム部13は、ログ再生機構144によって入力データIiが投入されると、当該入力データIiに対する出力データOi’を出力する。ログ比較機構145は、システム部13から入力データIiに対する出力データOi’が出力される毎に、ログ格納部142に格納されているログから当該入力データIiに対応する出力データOiを取り出す。そしてログ比較機構145は、入力データIiに対応する出力データOiが取り出せたなら、入力データIiに対する出力データOi’を当該取り出された出力データOiと比較する。この比較結果に基づき、入力データIiに対応する出力データOiが出力された時点の状態まで仮想計算機11を正常に復元できたかを判定する。もし、正常に復元できなかったと判定された場合、復元に失敗する。この場合、例えば通信を遮断したまま復元を終了するか、もしくはスナップショット時点に復元すればよい。   When the input data Ii is input by the log reproduction mechanism 144, the system unit 13 outputs output data Oi ′ for the input data Ii. Each time the output data Oi ′ for the input data Ii is output from the system unit 13, the log comparison mechanism 145 extracts the output data Oi corresponding to the input data Ii from the log stored in the log storage unit 142. Then, when the output data Oi corresponding to the input data Ii can be extracted, the log comparison mechanism 145 compares the output data Oi ′ for the input data Ii with the extracted output data Oi. Based on the comparison result, it is determined whether or not the virtual machine 11 has been successfully restored to the state at the time when the output data Oi corresponding to the input data Ii is output. If it is determined that the restoration cannot be performed normally, the restoration fails. In this case, for example, the restoration may be terminated while the communication is cut off, or the restoration may be performed at the time of the snapshot.

ログ比較機構145は、ログに含まれている全ての入力データIiについて、当該入力データIiに対するシステム部13からの出力データOi’がログ中の対応する出力データOiに一致している場合、仮想計算機11の状態を障害発生時刻t2+Δtまで正常に復元できたと判定する。するとログ比較機構145は、復元完了をログ再生機構144に通知する。   For all input data Ii included in the log, the log comparison mechanism 145 determines that if the output data Oi ′ from the system unit 13 corresponding to the input data Ii matches the corresponding output data Oi in the log, It is determined that the state of the computer 11 has been successfully restored until the failure occurrence time t2 + Δt. Then, the log comparison mechanism 145 notifies the log reproduction mechanism 144 of the completion of restoration.

ログ再生機構144は、ログ比較機構145から復元完了が通知されると、即ち仮想計算機11の状態を障害発生時刻t2+Δtまで正常に復元できたとログ比較機構145が判定すると、この例のように未投入の入力データIiがログに含まれていないならば、制御機構50からのログ再生及び復元依頼に対する復元完了を通知するための応答を制御機構50に返す(ステップ614)。   When the log comparison mechanism 145 is notified of the restoration completion from the log comparison mechanism 145, that is, when the log comparison mechanism 145 determines that the state of the virtual machine 11 has been successfully restored until the failure occurrence time t2 + Δt, the log comparison mechanism 145 has not been restored as in this example. If the input data Ii to be input is not included in the log, a response for notifying the completion of restoration in response to the log reproduction and restoration request from the control mechanism 50 is returned to the control mechanism 50 (step 614).

すると制御機構50は、入出力機構141に対して入出力再開依頼を発行する(ステップ615)。これを受けて入出力機構141は、入出力停止状態を解除して入出力を再開する(ステップ616)。そして入出力機構141は、入出力再開依頼に対する応答を制御機構50に返す(ステップ617)。   Then, the control mechanism 50 issues an input / output restart request to the input / output mechanism 141 (step 615). In response to this, the input / output mechanism 141 releases the input / output stop state and resumes input / output (step 616). The input / output mechanism 141 returns a response to the input / output restart request to the control mechanism 50 (step 617).

ところで、システム部13から入力データIiに対する出力データOi’が出力されても、当該入力データIiに対応する出力データOiがログに含まれていないために、当該出力データOiをログ比較機構145が取り出すことができないことがある。この場合、ログ比較機構145は、当該出力データOiがシステム部13から出力される前に障害が発生したものと判定する。そしてログ比較機構145は、最も最近にシステム部13からの出力データとの一致が判定されたログ中の出力データが障害発生直前の出力データであり、したがって仮想計算機11の状態を障害発生時刻t2+Δtまで正常に復元できたと判定する。するとログ比較機構145は、復元完了をログ再生機構144に通知する。   By the way, even if the output data Oi ′ corresponding to the input data Ii is output from the system unit 13, the output data Oi corresponding to the input data Ii is not included in the log. Sometimes it cannot be taken out. In this case, the log comparison mechanism 145 determines that a failure has occurred before the output data Oi is output from the system unit 13. In the log comparison mechanism 145, the output data in the log for which the most recent match with the output data from the system unit 13 is the output data immediately before the occurrence of the failure, and therefore the state of the virtual machine 11 is determined as the failure occurrence time t2 + Δt It is determined that it has been successfully restored. Then, the log comparison mechanism 145 notifies the log reproduction mechanism 144 of the completion of restoration.

ログ再生機構144は、ログ比較機構145から復元完了が通知されると、未投入の入力データIiがログに含まれていても、制御機構50からのログ再生及び復元依頼に対する復元完了を通知するための応答を制御機構50に返す(ステップ614)。すると、上記ステップ615及び616が行われ、入出力機構141による入出力が再開される。このときログ再生機構144は、未投入の入力データIiがログに含まれているならば、当該未投入の入力データIiをシステム部13に再投入する。   When the log reproduction mechanism 144 is notified of the restoration completion from the log comparison mechanism 145, the log reproduction mechanism 144 notifies the completion of restoration in response to the log reproduction and restoration request from the control mechanism 50 even if the input data Ii that has not been input is included in the log. Is returned to the control mechanism 50 (step 614). Then, steps 615 and 616 are performed, and input / output by the input / output mechanism 141 is resumed. At this time, if the input data Ii that has not been input is included in the log, the log reproduction mechanism 144 re-inputs the input data Ii that has not been input to the system unit 13.

復元完了後に、ログ再生機構144によって入力データIi(つまり、対応する出力データOiがログ中に含まれていない入力データIi)がシステム部13に再投入された場合、当該入力データIiに対して当該システム部13から出力される出力データOiは、入出力機構141からネットワーク20及びスイッチ30を経由して外部システム40に送られる。ここで出力データOiがスイッチ30を経由する際、当該出力データOiがログ取得機構32によって取得されて、ログ保存処理機構34によってログ格納部33に追加される。   When the input data Ii (that is, input data Ii whose corresponding output data Oi is not included in the log) is re-entered into the system unit 13 by the log reproduction mechanism 144 after the restoration is completed, the input data Ii Output data Oi output from the system unit 13 is sent from the input / output mechanism 141 to the external system 40 via the network 20 and the switch 30. Here, when the output data Oi passes through the switch 30, the output data Oi is acquired by the log acquisition mechanism 32 and added to the log storage unit 33 by the log storage processing mechanism 34.

[第1の変形例]
次に上記実施形態の第1の変形例について説明する。
上記実施形態では、制御機構50が入出力機構141及びログ再生機構144を直接制御している。第1の変形例の特徴は、スナップショット取得及び静止点作成を含む処理における入出力機構141の制御をログ取得機構32に行わせ、仮想計算機復元処理における入出力機構141の制御をログ送信機構35及びログ再生機構144に行わせ、仮想計算機復元処理におけるログ再生機構144の制御をログ送信機構35に行わせた点にある。
[First Modification]
Next, a first modification of the above embodiment will be described.
In the above embodiment, the control mechanism 50 directly controls the input / output mechanism 141 and the log reproduction mechanism 144. The feature of the first modification is that the log acquisition mechanism 32 is controlled by the log acquisition mechanism 32 in the processing including snapshot acquisition and quiesce point creation, and the control of the input / output mechanism 141 in the virtual machine restoration processing is the log transmission mechanism. 35 and the log reproduction mechanism 144, and the log transmission mechanism 35 is controlled by the log reproduction mechanism 144 in the virtual machine restoration process.

以下、第1の変形例で適用される、スナップショット取得及び静止点作成を含む処理の流れ、並びに仮想計算機復元処理の流れについて、それぞれ図7及び図8のシーケンスチャートを参照して、上記実施形態(図5及び図6のシーケンスチャート)との相違点を中心に簡単に説明する。なお、図7及び図8において、それぞれ図5及び図6と同様の部分には同一参照番号を付してある。   Hereinafter, with reference to the sequence charts of FIG. 7 and FIG. 8, the above-described implementation of the processing flow including snapshot acquisition and creation of a quiesce point and the flow of virtual machine restoration processing applied in the first modification example will be described. A brief description will be given centering on differences from the embodiment (sequence charts of FIGS. 5 and 6). 7 and 8, the same reference numerals are assigned to the same parts as those in FIGS. 5 and 6.

まず、第1の変形例で適用されるスナップショット取得及び静止点作成を含む処理において、制御機構50からログ取得機構32に対して静止点作成依頼が発行されたものとする(ステップ501)。するとログ取得機構32は、スナップショット取得のための静止点を作成し(ステップ502)、当該制御機構50に代わって、入出力機構141に対して入出力停止依頼を発行する(ステップ701)。つまり、ログ取得機構32は、制御機構50からの静止点作成依頼を、入出力停止依頼として入出力機構141に伝播する。入出力機構141はログ取得機構32からの入出力停止依頼に応じて、ネットワーク20との間の入出力を停止する(ステップ505)。これにより、設定された静止点が、スナップショット取得のための静止点として確定される。   First, it is assumed that a request for creating a quiesce point is issued from the control mechanism 50 to the log obtaining mechanism 32 in the process including snapshot acquisition and quiesce point creation applied in the first modification (step 501). Then, the log acquisition mechanism 32 creates a quiesce point for snapshot acquisition (step 502), and issues an input / output stop request to the input / output mechanism 141 instead of the control mechanism 50 (step 701). That is, the log acquisition mechanism 32 propagates the still point creation request from the control mechanism 50 to the input / output mechanism 141 as an input / output stop request. The input / output mechanism 141 stops input / output with the network 20 in response to the input / output stop request from the log acquisition mechanism 32 (step 505). Thereby, the set still point is determined as a still point for acquiring a snapshot.

入出力機構141は、入出力を停止すると(ステップ505)、入出力停止依頼に対する応答をログ取得機構32に返す(ステップ702)。これを受けてログ取得機構32は、先の静止点作成依頼に対する応答を制御機構50に返す(ステップ503)。すると、制御機構50からスナップショット管理機構121にスナップショット取得が依頼され(ステップ507)、当該スナップショット管理機構121がスナップショットを取得すると(ステップ508)、当該スナップショット管理機構121から制御機構50に応答が返される(ステップ509)。   When the input / output mechanism 141 stops the input / output (step 505), the input / output mechanism 141 returns a response to the input / output stop request to the log acquisition mechanism 32 (step 702). In response to this, the log acquisition mechanism 32 returns a response to the previous still point creation request to the control mechanism 50 (step 503). Then, the control mechanism 50 requests the snapshot management mechanism 121 to acquire a snapshot (step 507). When the snapshot management mechanism 121 acquires a snapshot (step 508), the control mechanism 50 receives the snapshot management mechanism 121 from the snapshot management mechanism 121. A response is returned to (step 509).

制御機構50は、スナップショット管理機構121からの応答に応じて、ログ取得機構32に対して静止解除依頼を発行し(ステップ510)、これを受けてログ取得機構32は設定された静止点を解除する(ステップ511)。そしてログ取得機構32は、制御機構50に代わって、入出力機構141に対して入出力再開依頼を発行する(ステップ703)。つまりログ取得機構32は、制御機構50からの静止解除依頼を、入出力再開依頼として入出力機構141に伝播する。   In response to a response from the snapshot management mechanism 121, the control mechanism 50 issues a stillness release request to the log acquisition mechanism 32 (step 510). In response to this, the log acquisition mechanism 32 sets the set still point. Release (step 511). The log acquisition mechanism 32 issues an input / output restart request to the input / output mechanism 141 instead of the control mechanism 50 (step 703). That is, the log acquisition mechanism 32 propagates the static release request from the control mechanism 50 to the input / output mechanism 141 as an input / output restart request.

入出力機構141は、ログ取得機構32からの入出力再開依頼に応じて入出力停止状態を解除し、入出力を再開する(ステップ514)。そして入出力機構141は、ログ取得機構32からの入出力再開依頼に対する応答を当該ログ取得機構32に返す(ステップ704)。ログ取得機構32は、入出力機構141から入出力再開依頼に対する応答が返されると、先の静止解除依頼に対する応答を制御機構50に返す(ステップ512)。   In response to the input / output restart request from the log acquisition mechanism 32, the input / output mechanism 141 releases the input / output stop state and restarts input / output (step 514). The input / output mechanism 141 returns a response to the input / output restart request from the log acquisition mechanism 32 to the log acquisition mechanism 32 (step 704). When the response to the input / output restart request is returned from the input / output mechanism 141, the log acquisition mechanism 32 returns the response to the previous static release request to the control mechanism 50 (step 512).

次に、第1の変形例で適用される仮想計算機復元処理において、制御機構50からスナップショット管理機構121に対して、スナップショットにより仮想計算機11を復元するための復元依頼が発行されたものとする(ステップ601)。するとスナップショット管理機構121は、スナップショット格納部122に保存されている例えば時刻t2に取得されたスナップショット204に基づいて、時刻t2の状態の仮想計算機11を復元し(ステップ602)、しかる後に復元依頼に対する応答を制御機構50に返す(ステップ603)。   Next, in the virtual machine restoration process applied in the first modified example, a restoration request for restoring the virtual machine 11 by a snapshot is issued from the control mechanism 50 to the snapshot management mechanism 121. (Step 601). Then, the snapshot management mechanism 121 restores the virtual machine 11 at the time t2 based on, for example, the snapshot 204 acquired at the time t2 stored in the snapshot storage unit 122 (step 602). A response to the restoration request is returned to the control mechanism 50 (step 603).

制御機構50は、スナップショット管理機構121からの応答を受け取ると、ログ送信機構35に対してログによる復元依頼を発行する(ステップ801)。これを受けてログ送信機構35は、ログ格納部33に格納されているログを入出力機構141に送信する(ステップ605)。すると入出力機構141は入出力を停止する(ステップ606)。入出力機構141に送信されたログはログ格納処理機構143に渡されて、当該ログ格納処理機構143によってログ格納部142に格納される(ステップ607,608)。すると、ログ格納完了がログ格納処理機構143から入出力機構141に通知され(ステップ609)、更に当該ログ格納完了が当該入出力機構141からログ送信機構35に伝播される(ステップ610)。   Upon receiving the response from the snapshot management mechanism 121, the control mechanism 50 issues a log restoration request to the log transmission mechanism 35 (step 801). In response to this, the log transmission mechanism 35 transmits the log stored in the log storage unit 33 to the input / output mechanism 141 (step 605). Then, the input / output mechanism 141 stops input / output (step 606). The log transmitted to the input / output mechanism 141 is transferred to the log storage processing mechanism 143 and stored in the log storage unit 142 by the log storage processing mechanism 143 (steps 607 and 608). Then, the log storage processing mechanism 143 notifies the input / output mechanism 141 of the log storage completion (step 609), and the log storage completion is further propagated from the input / output mechanism 141 to the log transmission mechanism 35 (step 610).

ログ送信機構35は、入出力機構141から伝播されたログ格納完了通知を受け取ると、制御機構50に代わって、ログ再生機構144に対してログ再生及び復元依頼を発行する(ステップ802)。ログ再生機構144は、ログ送信機構35からログ再生及び復元依頼を受け取ると、ログ格納部142に格納されたログに基づき、障害発生前の当該システム部13の入出力状態(ここでは時刻T2+Δtの状態)を再現させるためのログ再生及び復元を行う(ステップ613)。   When receiving the log storage completion notification propagated from the input / output mechanism 141, the log transmission mechanism 35 issues a log reproduction and restoration request to the log reproduction mechanism 144 in place of the control mechanism 50 (step 802). When the log reproduction mechanism 144 receives the log reproduction and restoration request from the log transmission mechanism 35, based on the log stored in the log storage unit 142, the input / output state (here, time T2 + Δt) of the system unit 13 before the failure occurs. Log reproduction and restoration for reproducing (state) (step 613).

ログ再生機構144は、仮想計算機11の状態を時刻t2+Δtまで正常に復元できた場合、入出力機構141に対して入出力再開依頼を発行する(ステップ803)。これを受けて入出力機構141は、入出力停止状態を解除して入出力を再開する(ステップ616)。そして入出力機構141は、入出力再開依頼に対する応答をログ再生機構144に返す(ステップ804)。   The log reproduction mechanism 144 issues an input / output restart request to the input / output mechanism 141 when the state of the virtual machine 11 can be normally restored until time t2 + Δt (step 803). In response to this, the input / output mechanism 141 releases the input / output stop state and resumes input / output (step 616). The input / output mechanism 141 returns a response to the input / output restart request to the log reproduction mechanism 144 (step 804).

ログ再生機構144は入出力機構141から入出力再開依頼に対する応答を受け取ると、先のログ再生及び復元依頼に対する応答をログ送信機構35に返す(ステップ805)。ログ送信機構35は、ログ再生機構144からログ再生及び復元依頼に対する応答を受け取ると、先のログによる復元依頼に対する応答を制御機構50に返す(ステップ806)。   When the log reproduction mechanism 144 receives a response to the input / output restart request from the input / output mechanism 141, it returns a response to the previous log reproduction and restoration request to the log transmission mechanism 35 (step 805). When receiving a response to the log reproduction and restoration request from the log reproduction mechanism 144, the log transmission mechanism 35 returns a response to the restoration request based on the previous log to the control mechanism 50 (step 806).

[第2の変形例]
次に上記実施形態の第2の変形例について説明する。
上記実施形態では、ログ送信機構35によって送信されたログに含まれている全ての入力データIiが、ログ再生機構144によって仮想計算機11のシステム部13に投入される。しかし、システム部13で複数のアプリケーションが動作する場合、仮想計算機11を高速に復元するために、当該複数のアプリケーションのうちの特定のアプリケーションが動作する状態のみを復元すればよいこともある。つまり仮想計算機11の状態の部分的な復元が要求されることもある。このような場合、ログに含まれている全ての入力データIiを再投入するのは無駄である。そこで第2の変形例の特徴は、ログに含まれている入力データIiのうち、特定のアプリケーションに渡される入力データのみを再投入することにある。
[Second Modification]
Next, a second modification of the above embodiment will be described.
In the above embodiment, all input data Ii included in the log transmitted by the log transmission mechanism 35 is input to the system unit 13 of the virtual machine 11 by the log reproduction mechanism 144. However, when a plurality of applications operate in the system unit 13, in order to restore the virtual machine 11 at high speed, it may be necessary to restore only a state in which a specific application among the plurality of applications is operating. That is, partial restoration of the state of the virtual machine 11 may be requested. In such a case, it is useless to re-input all input data Ii included in the log. Therefore, the feature of the second modification is that only the input data passed to a specific application is re-input among the input data Ii included in the log.

図9は、仮想計算機11のアダプタ14内のログ再生機構144の構成を示すブロック図である。ログ再生機構144は、フィルタ機構144aを含む。フィルタ機構144aは、例えば制御機構50からのフィルタ設定144bに従い、ログ内の再生すべき入力データを絞り込むなお、フィルタ機構144aがログ再生機構144の外部に設けられていてもよい。   FIG. 9 is a block diagram showing a configuration of the log reproduction mechanism 144 in the adapter 14 of the virtual machine 11. The log reproduction mechanism 144 includes a filter mechanism 144a. The filter mechanism 144a narrows down input data to be reproduced in the log in accordance with, for example, the filter setting 144b from the control mechanism 50. Note that the filter mechanism 144a may be provided outside the log reproduction mechanism 144.

本実施形態においてフィルタ設定144bは、仮想計算機11(のシステム部13)上で動作する上記特定のアプリケーションに割り当てられたポートであって、仮想計算機11のシステム部13と当該特定のアプリケーションとの間で入出力データを授受するのに用いられるポートのポート番号を含む。このポート番号をPNsとするならば、外部システム40から送信される入力データのうち、仮想計算機11上の上記特定アプリケーション宛ての入力データは、宛先IPアドレスとして当該仮想計算機11に割り当てられたIPアドレスを含むと共に、宛先ポート番号としてPNsを含む。   In the present embodiment, the filter setting 144b is a port assigned to the specific application that operates on the virtual computer 11 (system unit 13 thereof), and is between the system unit 13 of the virtual computer 11 and the specific application. Contains the port number of the port used to send and receive input / output data. If this port number is PNs, among the input data transmitted from the external system 40, the input data addressed to the specific application on the virtual machine 11 is the IP address assigned to the virtual machine 11 as the destination IP address. And PNs as the destination port number.

そこで、フィルタ機構144aは、ログに含まれている仮想計算機11宛ての入力データのうち、宛先ポート番号がPNsの入力データのみを選択する。ログ再生機構144は、フィルタ機構144aによって選択された入力データを仮想計算機11のシステム部13に順次投入する。これにより、仮想計算機11のシステム部13に投入される入力データを、特定アプリケーションに渡されるべき入力データに絞ることができる。また、仮想計算機11のシステム部13に投入される入力データを絞ることにより、当該システム部13から出力される出力データ、即ちログ比較機構145で比較されるべき出力データも絞ることができる。よって上記第2の変形例によれば、仮想計算機11の状態の部分的な復元を効率的に行うことができる。   Therefore, the filter mechanism 144a selects only the input data whose destination port number is PNs from the input data addressed to the virtual machine 11 included in the log. The log reproduction mechanism 144 sequentially inputs the input data selected by the filter mechanism 144 a to the system unit 13 of the virtual computer 11. Thereby, the input data input to the system unit 13 of the virtual machine 11 can be narrowed down to input data to be passed to the specific application. Further, by narrowing down the input data input to the system unit 13 of the virtual computer 11, it is possible to narrow down the output data output from the system unit 13, that is, the output data to be compared by the log comparison mechanism 145. Therefore, according to the second modification, partial restoration of the state of the virtual machine 11 can be performed efficiently.

[第3の変形例]
次に上記実施形態の第3の変形例について説明する。
図10は、仮想計算機11のアダプタ14内のログ比較機構145の構成を示すブロック図である。第3の変形例が第2の変形例と相違する点は、ログ再生機構144にフィルタ機構144aを設ける代わりに、図10に示されるように、当該フィルタ機構144aに相当するフィルタ機構145aを、ログ比較機構145に設けたことである。なお、フィルタ機構145aがログ比較機構145の外部に設けられていてもよい。
[Third Modification]
Next, a third modification of the above embodiment will be described.
FIG. 10 is a block diagram showing a configuration of the log comparison mechanism 145 in the adapter 14 of the virtual machine 11. The third modification differs from the second modification in that, instead of providing the filter mechanism 144a in the log reproduction mechanism 144, as shown in FIG. 10, a filter mechanism 145a corresponding to the filter mechanism 144a is This is provided in the log comparison mechanism 145. The filter mechanism 145a may be provided outside the log comparison mechanism 145.

第3の変形例においてログ再生機構144は、上記実施形態と同様に、ログ格納部142に格納されているログに含まれている全ての入力データを順次システム部13に投入する。するとシステム部13は、ログ再生機構144によって投入された入力データに対応する出力データを出力する。   In the third modification, the log reproduction mechanism 144 sequentially inputs all input data included in the log stored in the log storage unit 142 to the system unit 13 as in the above embodiment. Then, the system unit 13 outputs output data corresponding to the input data input by the log reproduction mechanism 144.

第3の変形例においてフィルタ機構145aは、システム部13から出力される出力データのうち、例えば制御機構50からのフィルタ設定145bに従い、ログ比較機構145によって比較されるべき出力データを絞り込む。ここでは、フィルタ設定145bにポート番号PNsが含まれているものとすると、送信元ポート番号がPNsである特定アプリケーションからの出力データのみがログ比較機構145によって比較されるべき出力データとして選択される。   In the third modification, the filter mechanism 145a narrows down the output data to be compared by the log comparison mechanism 145 in accordance with the filter setting 145b from the control mechanism 50 among the output data output from the system unit 13, for example. Here, assuming that the port number PNs is included in the filter setting 145b, only output data from a specific application whose transmission source port number is PNs is selected as output data to be compared by the log comparison mechanism 145. .

第3の変形例では、ログ比較機構145によって比較されるべき出力データが特定アプリケーションからの出力データに絞られる。このため、ログ比較機構145での負荷を低減することができる。しかも、ログ格納部142に格納されているログに含まれている全ての入力データがシステム部13に投入されることから、当該システム部13を含む仮想計算機11を高精度に復元することができる。   In the third modification, output data to be compared by the log comparison mechanism 145 is narrowed down to output data from a specific application. For this reason, the load on the log comparison mechanism 145 can be reduced. In addition, since all input data included in the log stored in the log storage unit 142 is input to the system unit 13, the virtual computer 11 including the system unit 13 can be restored with high accuracy. .

なお、本発明は、上記実施形態またはその変形例そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。例えば上記実施形態及びその変形例では、物理計算機10-1に障害が発生した後、当該物理計算機10-1の障害が回復して当該物理計算機10-1が再起動され、当該物理計算機10-1上でハイパーバイザー12-1が再起動した場合に、当該ハイパーバイザー12-1上に、障害発生時まで動作していた仮想計算機11が復元される。しかし、物理計算機10-1及び10-2が例えばクラスタシステムを構成しているならば、物理計算機10-1に障害が発生した場合に、当該物理計算機10-1が外部システム40に対して提供していたサービスを物理計算機10-2に継続させるために、当該物理計算機10-2上で動作するハイパーバイザー12-2上に仮想計算機11を復元することも可能である。   In addition, this invention is not limited to the said embodiment or its modification example as it is, A component can be deform | transformed and embodied in the range which does not deviate from the summary in an implementation stage. For example, in the above embodiment and its modification, after a failure occurs in the physical computer 10-1, the failure of the physical computer 10-1 is recovered, the physical computer 10-1 is restarted, and the physical computer 10- When the hypervisor 12-1 is restarted on 1, the virtual machine 11 that has been operating until the time of the failure is restored on the hypervisor 12-1. However, if the physical computers 10-1 and 10-2 constitute, for example, a cluster system, the physical computer 10-1 provides the external system 40 when a failure occurs in the physical computer 10-1. In order to allow the physical computer 10-2 to continue the service that has been performed, the virtual computer 11 can be restored on the hypervisor 12-2 operating on the physical computer 10-2.

また、上記実施形態及びその変形例では、制御機構50が物理計算機10-1及び10-2から独立に設けられている。しかし、制御機構50に相当する制御機構が、物理計算機10-1及び10-2内、例えば物理計算機10-1及び10-2上で動作するハイパーバイザー12-1及び12-2の各々に、設けられていてもよい。この場合、仮想計算機11が復元されるべきハイパーバイザー12-1または12-2に設けられる制御機構が制御機構50と同様の制御を行えばよい。   In the above embodiment and its modification, the control mechanism 50 is provided independently of the physical computers 10-1 and 10-2. However, a control mechanism corresponding to the control mechanism 50 is provided in each of the hypervisors 12-1 and 12-2 operating on the physical computers 10-1 and 10-2, for example, the physical computers 10-1 and 10-2. It may be provided. In this case, the control mechanism provided in the hypervisor 12-1 or 12-2 to which the virtual computer 11 should be restored may perform the same control as the control mechanism 50.

また、第2及び第3の変形例を組み合わせて、ログ再生機構144にフィルタ機構144aを設けると共に、ログ比較機構145にフィルタ機構145aを設けても構わない。   In addition, the log reproduction mechanism 144 may be provided with the filter mechanism 144a and the log comparison mechanism 145 may be provided with the filter mechanism 145a by combining the second and third modifications.

また、上記実施形態またはその変形例に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態またはその変形例に示される全構成要素から幾つかの構成要素を削除してもよい。   In addition, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment or its modification. For example, you may delete a some component from all the components shown by embodiment or its modification.

本発明の一実施形態に係る仮想計算機システムの構成を示すブロック図。1 is a block diagram showing a configuration of a virtual machine system according to an embodiment of the present invention. 仮想計算機の状態とスナップショット時刻とスナップショットとの関係を示す図。The figure which shows the relationship between the state of a virtual machine, snapshot time, and a snapshot. 外部システムから仮想計算機への通信(入力)時におけるデータ(入力データ)の流れと、当該入力データに対する仮想計算機から外部システムへの通信(出力)時におけるデータ(出力データ)の流れとを示す図。The figure which shows the flow of the data (input data) at the time of communication (input) from the external system to the virtual machine, and the flow of data (output data) at the time of communication (output) from the virtual machine to the external system for the input data . ログ格納部に時系列順に格納された入出力データの列を含むログの例と、当該ログを加工した場合の、その加工されたログの例とを示す図。The figure which shows the example of the log containing the row | line | column of the input-output data stored in time series in the log storage part, and the example of the processed log when the said log is processed. 同実施形態で適用されるスナップショット取得及び静止点作成を含む処理の流れを示すシーケンスチャート。The sequence chart which shows the flow of a process including the snapshot acquisition applied to the embodiment, and a still point creation. 同実施形態で適用される仮想計算機復元処理の流れを示すシーケンスチャート。The sequence chart which shows the flow of the virtual machine restoration process applied in the embodiment. 同実施形態の第1の変形例で適用されるスナップショット取得及び静止点作成を含む処理の流れを示すシーケンスチャート。The sequence chart which shows the flow of a process including the snapshot acquisition applied in the 1st modification of the embodiment, and still point creation. 同実施形態の第1の変形例で適用される仮想計算機復元処理の流れを示すシーケンスチャート。The sequence chart which shows the flow of the virtual machine restoration process applied in the 1st modification of the embodiment. 同実施形態の第2の変形例で適用されるログ再生機構の構成を示すブロック図。The block diagram which shows the structure of the log reproduction | regeneration mechanism applied in the 2nd modification of the embodiment. 同実施形態の第3の変形例で適用されるログ比較機構の構成を示すブロック図A block diagram showing a configuration of a log comparison mechanism applied in a third modification of the embodiment

符号の説明Explanation of symbols

10-1,10-2…物理計算機、11…仮想計算機、12-1,12-2…ハイパーバイザー、13…システム部、14…アダプタ、20,21…ネットワーク、30…スイッチ、31…通信記録装置、32…ログ取得機構、33…ログ格納部、34…ログ保存処理機構、35…ログ送信機構、40…外部システム、50…制御機構、141…入出力機構、142…ログ格納部、143…ログ格納処理機構、144…ログ再生機構、145…ログ比較機構。   10-1 and 10-2 ... physical computers, 11 ... virtual computers, 12-1,12-2 ... hypervisor, 13 ... system unit, 14 ... adapter, 20,21 ... network, 30 ... switch, 31 ... communication record Device 32... Log acquisition mechanism 33... Log storage unit 34... Log storage processing mechanism 35 35 log transmission mechanism 40 external system 50 control mechanism 141 input / output mechanism 142 log storage unit 143 ... log storage processing mechanism, 144 ... log reproduction mechanism, 145 ... log comparison mechanism.

Claims (5)

物理計算機と、
前記物理計算機または当該物理計算機とネットワークを介して接続される別の物理計算機上で動作する仮想計算機のスナップショットを格納するのに用いられるスナップショット格納手段と、
前記仮想計算機を利用する外部システム及び前記仮想計算機との間で入出力される通信データを通信のログとして時系列順に記録する通信記録手段と
を具備し、
前記物理計算機は、
前記物理計算機上で前記仮想計算機が動作する場合に、当該仮想計算機の状態を当該仮想計算機のスナップショットとして取得して、前記スナップショット格納手段に格納するスナップショット取得手段と、
前記物理計算機または前記別の物理計算機上で前記仮想計算機が動作している状態で当該仮想計算機が正常に機能することができない障害が発生した後、当該仮想計算機を前記物理計算機上で復元することが可能な状態になった場合に、前記スナップショット格納手段に格納されている当該仮想計算機の最新のスナップショットに基づき、当該仮想計算機を当該スナップショットが取得された第1の時点に復元するスナップショット復元手段と、
前記第1の時点に復元された前記仮想計算機に、前記通信記録手段によって記録されている通信のログに含まれている前記第1の時点から前記障害の発生時である第2の時点までの入力データを時系列順に投入することにより、前記仮想計算機を前記第2の時点まで復元するログ再生手段とを含む
ことを特徴とする仮想計算機システム。
A physical computer,
Snapshot storage means used for storing a snapshot of a virtual machine operating on the physical computer or another physical computer connected to the physical computer via a network;
Communication recording means for recording communication data input / output between the external system using the virtual machine and the virtual machine as a communication log in chronological order, and
The physical computer is
When the virtual machine operates on the physical computer, a snapshot acquisition unit that acquires the state of the virtual machine as a snapshot of the virtual computer and stores the snapshot in the snapshot storage unit;
The virtual machine is restored on the physical computer after a failure that prevents the virtual machine from functioning normally while the virtual machine is operating on the physical computer or the other physical computer. Snap that restores the virtual machine to the first point in time when the snapshot was acquired based on the latest snapshot of the virtual machine stored in the snapshot storage means Shot restoration means,
From the first time point included in the communication log recorded by the communication recording unit to the second time point when the failure occurs, in the virtual machine restored at the first time point And a log reproducing unit for restoring the virtual machine to the second time point by inputting input data in time series.
前記物理計算機は、前記ログ再生手段が前記通信のログに含まれている入力データを前記仮想計算機に投入することにより当該入力データに対する前記仮想計算機の結果として当該仮想計算機から出力される出力データを、前記通信のログに含まれている出力データのうち、当該入力データが前記障害発生前に前記仮想計算機に入力された際に当該仮想計算機から出力された出力データと比較することにより、前記仮想計算機の状態が正しく復元されているかを判定するログ比較手段を更に含むことを特徴とする請求項1記載の仮想計算機システム。   The physical computer, when the log reproduction means inputs the input data included in the communication log into the virtual computer, outputs the output data output from the virtual computer as a result of the virtual computer for the input data By comparing the input data included in the communication log with the output data output from the virtual machine when the input data is input to the virtual machine before the failure occurs, 2. The virtual computer system according to claim 1, further comprising log comparison means for determining whether or not the state of the computer is correctly restored. 前記スナップショット取得手段による前記スナップショットの取得及び前記通信記録手段による前記入出力される通信データの記録を制御することによって、前記スナップショットと前記記録される入出力とを同期化する制御手段を更に具備することを特徴とする請求項1または2に記載の仮想計算機システム。   Control means for synchronizing the snapshot and the recorded input / output by controlling the acquisition of the snapshot by the snapshot acquiring means and the recording of the input / output communication data by the communication recording means. The virtual machine system according to claim 1, further comprising: 前記入力データは、前記仮想計算機上で動作して当該入力データを処理するアプリケーションに割り当てられるポートのポート番号を宛先ポート番号として含み、
前記ログ再生手段は、前記仮想計算機上で複数のアプリケーションが動作する場合に、少なくとも、前記複数のアプリケーションのうちの予め設定された特定アプリケーションの動作に関して前記仮想計算機を前記第2の時点まで復元するために、前記通信のログに含まれている入力データの時系列から、前記特定アプリケーションに割り当てられたポートのポート番号を宛先ポート番号として含む入力データのみを、前記仮想計算機に投入されるべき入力データとして選択するフィルタ手段を含む
ことを特徴とする請求項1乃至3のいずれかに記載の仮想計算機システム。
The input data includes a port number of a port assigned to an application that operates on the virtual machine and processes the input data as a destination port number;
The log reproduction means restores the virtual machine to the second time point at least with respect to the operation of a predetermined specific application among the plurality of applications when a plurality of applications operate on the virtual machine. Therefore, from the time series of input data included in the communication log, only input data including a port number of a port assigned to the specific application as a destination port number is input to be input to the virtual machine. The virtual computer system according to any one of claims 1 to 3, further comprising filter means for selecting data.
物理計算機と、前記物理計算機または当該物理計算機とネットワークを介して接続される別の物理計算機上で動作する仮想計算機のスナップショットを格納するのに用いられるスナップショット格納手段と、前記仮想計算機を利用する外部システム及び前記仮想計算機の間で入出力される通信データを通信のログとして時系列順に記録する通信記録手段とから構成される仮想計算機システムに適用される仮想計算機復元方法であって、
前記物理計算機上で前記仮想計算機が動作する場合に、前記物理計算機が、当該仮想計算機の状態を当該仮想計算機のスナップショットとして取得して、前記スナップショット格納手段に格納するステップと、
前記物理計算機または前記別の物理計算機上で前記仮想計算機が動作している状態で当該仮想計算機が正常に機能することができない障害が発生した後、当該仮想計算機を前記物理計算機上で復元することが可能な状態になった場合に、前記物理計算機が、前記スナップショット格納手段に格納されている当該仮想計算機の最新のスナップショットに基づき、当該仮想計算機を当該スナップショットが取得された第1の時点に復元するステップと、
前記第1の時点に復元された前記仮想計算機に、前記通信記録手段によって記録されている通信のログに含まれている前記第1の時点から前記障害の発生時である第2の時点までの入力データを前記物理計算機が時系列順に投入することにより、前記仮想計算機を前記第2の時点まで復元するステップと
を具備することを特徴とする仮想計算機復元方法。
Utilizing a physical computer, snapshot storage means used to store a virtual computer operating on the physical computer or another physical computer connected to the physical computer via a network, and the virtual computer A virtual machine restoration method applied to a virtual machine system comprising a communication recording means for recording communication data input / output between the external system and the virtual machine in time series as a communication log,
When the virtual machine operates on the physical computer, the physical computer acquires the state of the virtual machine as a snapshot of the virtual machine, and stores the snapshot in the snapshot storage unit;
The virtual machine is restored on the physical computer after a failure that prevents the virtual machine from functioning normally while the virtual machine is operating on the physical computer or the other physical computer. When the state becomes possible, the physical computer is based on the latest snapshot of the virtual computer stored in the snapshot storage unit, and the virtual computer has the first snapshot from which the snapshot has been acquired. A step to restore to the point in time,
From the first time point included in the communication log recorded by the communication recording unit to the second time point when the failure occurs, in the virtual machine restored at the first time point And a step of restoring the virtual computer to the second time point by inputting the input data in time series by the physical computer.
JP2007250228A 2007-09-26 2007-09-26 Virtual computer system and virtual computer restoration method in the same system Active JP4560074B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007250228A JP4560074B2 (en) 2007-09-26 2007-09-26 Virtual computer system and virtual computer restoration method in the same system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007250228A JP4560074B2 (en) 2007-09-26 2007-09-26 Virtual computer system and virtual computer restoration method in the same system

Publications (2)

Publication Number Publication Date
JP2009080705A true JP2009080705A (en) 2009-04-16
JP4560074B2 JP4560074B2 (en) 2010-10-13

Family

ID=40655397

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007250228A Active JP4560074B2 (en) 2007-09-26 2007-09-26 Virtual computer system and virtual computer restoration method in the same system

Country Status (1)

Country Link
JP (1) JP4560074B2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011048678A (en) * 2009-08-27 2011-03-10 Fujitsu Ltd Job operation support method and computer apparatus
JP2011253350A (en) * 2010-06-02 2011-12-15 Mitsubishi Electric Corp Virtual computer control system
WO2012042555A1 (en) * 2010-09-27 2012-04-05 株式会社日立製作所 Computer system and management method therefor
US8656126B2 (en) 2010-09-30 2014-02-18 International Business Machines Corporation Managing snapshots of virtual server
EP2811402A1 (en) 2013-06-06 2014-12-10 Fujitsu Limited Transaction resuming program, information processing apparatus and transaction resuming method
US9104448B2 (en) 2012-12-03 2015-08-11 International Business Machines Corporation Restoring a previous version of a virtual machine image
KR20180101547A (en) * 2016-01-14 2018-09-12 아브 이니티오 테크놀로지 엘엘시 Recoverable stream processing

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01116843A (en) * 1987-10-30 1989-05-09 Mitsubishi Electric Corp Monitor controller
JPH0784901A (en) * 1993-09-17 1995-03-31 Fujitsu Ltd Terminal operation reproducing device
JP2000047911A (en) * 1998-07-30 2000-02-18 Yamaha Corp Karaoke device
JP2000194624A (en) * 1998-12-25 2000-07-14 Toshiba Corp Computer system and communication recovery system
JP2007018100A (en) * 2005-07-05 2007-01-25 Fujitsu Ten Ltd Log recording device and log recording method
JP2007148839A (en) * 2005-11-29 2007-06-14 Hitachi Ltd Failure recovery method
JP2007200114A (en) * 2006-01-27 2007-08-09 Hitachi Ltd Database recovery method and computer system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01116843A (en) * 1987-10-30 1989-05-09 Mitsubishi Electric Corp Monitor controller
JPH0784901A (en) * 1993-09-17 1995-03-31 Fujitsu Ltd Terminal operation reproducing device
JP2000047911A (en) * 1998-07-30 2000-02-18 Yamaha Corp Karaoke device
JP2000194624A (en) * 1998-12-25 2000-07-14 Toshiba Corp Computer system and communication recovery system
JP2007018100A (en) * 2005-07-05 2007-01-25 Fujitsu Ten Ltd Log recording device and log recording method
JP2007148839A (en) * 2005-11-29 2007-06-14 Hitachi Ltd Failure recovery method
JP2007200114A (en) * 2006-01-27 2007-08-09 Hitachi Ltd Database recovery method and computer system

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011048678A (en) * 2009-08-27 2011-03-10 Fujitsu Ltd Job operation support method and computer apparatus
JP2011253350A (en) * 2010-06-02 2011-12-15 Mitsubishi Electric Corp Virtual computer control system
WO2012042555A1 (en) * 2010-09-27 2012-04-05 株式会社日立製作所 Computer system and management method therefor
JP5309263B2 (en) * 2010-09-27 2013-10-09 株式会社日立製作所 Computer system and management method thereof
US8656126B2 (en) 2010-09-30 2014-02-18 International Business Machines Corporation Managing snapshots of virtual server
US9104448B2 (en) 2012-12-03 2015-08-11 International Business Machines Corporation Restoring a previous version of a virtual machine image
US9104447B2 (en) 2012-12-03 2015-08-11 International Business Machines Corporation Restoring a previous version of a virtual machine image
EP2811402A1 (en) 2013-06-06 2014-12-10 Fujitsu Limited Transaction resuming program, information processing apparatus and transaction resuming method
US9342409B2 (en) 2013-06-06 2016-05-17 Fujitsu Limited Recording medium storing transaction resuming program, information processing apparatus and transaction resuming method
KR20180101547A (en) * 2016-01-14 2018-09-12 아브 이니티오 테크놀로지 엘엘시 Recoverable stream processing
US10601890B2 (en) 2016-01-14 2020-03-24 Ab Initio Technology Llc Recoverable stream processing
KR102121139B1 (en) * 2016-01-14 2020-06-17 아브 이니티오 테크놀로지 엘엘시 Recoverable stream processing

Also Published As

Publication number Publication date
JP4560074B2 (en) 2010-10-13

Similar Documents

Publication Publication Date Title
US11797395B2 (en) Application migration between environments
USRE47852E1 (en) Snapshot and replication of a multi-stream application on multiple hosts at near-sync frequency
US11663085B2 (en) Application backup and management
KR101970839B1 (en) Replaying jobs at a secondary location of a service
Lorch et al. The SMART way to migrate replicated stateful services
US8307363B2 (en) Virtual machine system, restarting method of virtual machine and system
US8214686B2 (en) Distributed processing method
US7594138B2 (en) System and method of error recovery for backup applications
JP4560074B2 (en) Virtual computer system and virtual computer restoration method in the same system
JP2009080692A (en) Virtual machine system and service taking-over control method for same system
CN103176831A (en) Virtual machine system and management method thereof
US12001404B2 (en) Techniques for replication checkpointing during disaster recovery
US8977897B2 (en) Computer-readable recording medium, data management method, and storage device
JP2007265137A (en) Multi-task processing method and multi-task processing apparatus
CN110389713B (en) Data synchronization method, apparatus and computer readable medium
JP5544516B2 (en) Highly available server system, high availability server system failure recovery method, and highly available server
JP4157536B2 (en) Program execution device, program execution method, and service providing program
CN113868027B (en) Data snapshot method and device
CN116578446B (en) Virtual machine backup method, device and system, electronic equipment and storage medium
US20240094937A1 (en) Concurrent and non-blocking object deletion for cross-region replications
US20240281413A1 (en) Techniques for replication checkpointing during disaster recovery
CN114253765A (en) Data recovery method and related equipment
CN111563010A (en) Data synchronization method, system and storage medium based on dual-computer redundancy system
JP2012027634A (en) Check point creating device, check point creating system, check point creating method and check point creating program
JPH06139214A (en) Data restoring device

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100406

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100603

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100723

R150 Certificate of patent or registration of utility model

Ref document number: 4560074

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130730

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350