JP2018169841A - Control unit, multiplex system, multiplex method and program - Google Patents

Control unit, multiplex system, multiplex method and program Download PDF

Info

Publication number
JP2018169841A
JP2018169841A JP2017067195A JP2017067195A JP2018169841A JP 2018169841 A JP2018169841 A JP 2018169841A JP 2017067195 A JP2017067195 A JP 2017067195A JP 2017067195 A JP2017067195 A JP 2017067195A JP 2018169841 A JP2018169841 A JP 2018169841A
Authority
JP
Japan
Prior art keywords
application
user
hypervisor
computers
screen display
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
JP2017067195A
Other languages
Japanese (ja)
Other versions
JP6848606B2 (en
Inventor
真文 山科
Masafumi Yamashina
真文 山科
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2017067195A priority Critical patent/JP6848606B2/en
Publication of JP2018169841A publication Critical patent/JP2018169841A/en
Application granted granted Critical
Publication of JP6848606B2 publication Critical patent/JP6848606B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To provide a control unit capable of appropriately performing a recovery operation of an application even when abnormality occurs in the application.SOLUTION: A control unit 10 includes a multiplex control part 12, a screen comparison part 13, an option presenting part 14, and a recovery control part 15. The multiplex control part 12 controls in a manner that identical applications are executed on information processing devices 2A, 2B. The screen comparison part 13 compares whether or not the contents displayed on the screens output in response to inputs to the applications executed on each of the information processing devices 2A, 2B are equivalent. The option presenting part 14 presents, when the contents displayed on the screens are not equivalent, options for recovery processing of the applications to users of the applications. The recovery control part 15 controls the recovery of the applications in accordance with the option selected by the users responding to the presentation of the options.SELECTED DRAWING: Figure 1

Description

本発明は、制御装置、多重化システム、多重化方法及びプログラムに関し、特に、アプリケーションの実行を制御する制御装置、多重化システム、多重化方法及びプログラムに関する。   The present invention relates to a control device, a multiplexing system, a multiplexing method, and a program, and more particularly to a control device, a multiplexing system, a multiplexing method, and a program that control execution of an application.

ユーザがコンピュータでアプリケーションを使用する際、ユーザの作業ファイルレベルでの冗長化は、一般に、ファイルバックアップにより行われる。しかしながら、アプリケーションにおいてファイルに保存されない作業履歴等については、メモリ上に記憶されているため、ユーザの操作ではバックアップ(二重化)することができない。このため、ハードウェア障害、オペレーティングシステム障害、又はアプリケーション障害等の異常が発生したときに、アプリケーションでの作業が中断され、アプリケーションが復旧するまで、ユーザは作業を行うことができない。また、復旧作業には時間がかかってしまう。このような問題を解決するために、フォールトトレラント技術を用いてアプリケーションを多重化(冗長化)することが考えられる。   When a user uses an application on a computer, redundancy at the user's work file level is generally performed by file backup. However, work histories and the like that are not saved in a file in the application are stored in the memory, and therefore cannot be backed up (duplexed) by a user operation. Therefore, when an abnormality such as a hardware failure, an operating system failure, or an application failure occurs, the work on the application is interrupted, and the user cannot work until the application is restored. Moreover, it takes time for the recovery work. In order to solve such a problem, it is conceivable to multiplex (redundant) applications using a fault tolerant technology.

この技術に関連し、特許文献1は、アプリケーションの処理を行う本番系の計算システム及び待機系の計算システムを有する多重化システムを開示する。特許文献1にかかる多重化システムは、リクエストを本番系の計算システム及び待機系の計算システムに入力し、これらの計算システムからの応答を照合することによって、動作検証を行う。照合の結果が、応答が不一致であれば、異常が発生していると判断される。   In relation to this technology, Patent Document 1 discloses a multiplexing system having a production system for processing an application and a standby system. The multiplexing system according to Patent Document 1 performs operation verification by inputting a request to a production calculation system and a standby calculation system and collating responses from these calculation systems. If the result of the collation is that the responses do not match, it is determined that an abnormality has occurred.

国際公開第2012/160690号International Publication No. 2012/160690

特許文献1にかかる技術のように、単に応答を照合するのみでは、本番系の計算システムの応答と待機系の計算システムの応答とが異なる場合に、どちらの応答が正しいのか判断できないおそれがある。つまり、本番系の計算システムに異常が発生している場合ではなく、待機系の計算システムに異常が発生している場合であっても、システムに異常が発生していると判断され得る。このような場合に本番系の計算システムで実行されている処理が待機系の計算システムに引き継がれても、システム全体として不具合は解消できていない。したがって、特許文献1に技術では、アプリケーションの異常が発生した場合に適切にアプリケーションの復帰動作を行うことができないおそれがある。   As in the technique according to Patent Document 1, if the response of the production system is different from the response of the standby system, it may not be possible to determine which one is correct by simply comparing the responses. . In other words, it can be determined that an abnormality has occurred in the system even when an abnormality has occurred in the standby calculation system, not in the case where an abnormality has occurred in the production system. In such a case, even if the processing executed in the production computing system is taken over by the standby computing system, the problem cannot be solved as a whole system. Therefore, in the technique disclosed in Patent Document 1, there is a possibility that an application return operation cannot be performed appropriately when an application abnormality occurs.

本発明の目的は、このような課題を解決するためになされたものであり、アプリケーションについて異常が発生した場合であっても、適切にアプリケーションの復帰動作を行うことが可能な制御装置、多重化システム、多重化方法及びプログラムを提供することにある。   An object of the present invention is to solve such a problem, and is capable of appropriately performing a return operation of an application even when an abnormality occurs in the application. A system, a multiplexing method, and a program are provided.

本発明にかかる制御装置は、本番系又は待機系としてそれぞれ動作する複数のコンピュータで同一のアプリケーションを実行させるように制御する多重化制御手段と、前記複数のコンピュータのそれぞれで実行されている前記アプリケーションへの入力に対して出力される画面表示内容が互いに一致しているか否かを比較する比較手段と、前記画面表示内容が一致していない場合に、前記アプリケーションのユーザに対して、前記アプリケーションの復帰処理の選択肢を提示する提示手段と、前記選択肢の提示に応じてユーザによってなされた選択に基づいて、前記アプリケーションの復帰を制御する復帰制御手段とを有する。   The control apparatus according to the present invention includes a multiplexing control unit that controls a plurality of computers that respectively operate as a production system or a standby system to execute the same application, and the application that is executed by each of the plurality of computers. The comparison means for comparing whether or not the screen display contents output with respect to the input to each other match each other, and when the screen display contents do not match, Presenting means for presenting return processing options, and return control means for controlling return of the application based on a selection made by the user in response to the presenting of the options.

また、本発明にかかる多重化システムは、本番系又は待機系としてそれぞれ動作する複数のコンピュータと、前記複数のコンピュータを制御する制御装置とを有し、前記制御装置は、前記複数のコンピュータで同一のアプリケーションを実行させるように制御する多重化制御手段と、前記複数のコンピュータのそれぞれで実行されている前記アプリケーションへの入力に対して出力される画面表示内容が互いに一致しているか否かを比較する比較手段と、前記画面表示内容が一致していない場合に、前記アプリケーションのユーザに対して、前記アプリケーションの復帰処理の選択肢を提示する提示手段と、前記選択肢の提示に応じてユーザによってなされた選択に基づいて、前記アプリケーションの復帰を制御する復帰制御手段とを有する。   The multiplexing system according to the present invention includes a plurality of computers that respectively operate as a production system or a standby system, and a control device that controls the plurality of computers, and the control devices are the same among the plurality of computers. The multiplexing control means for controlling the application to be executed and the screen display contents output in response to the input to the application executed on each of the plurality of computers are compared with each other. The presenting means for presenting the options for the return processing of the application to the user of the application when the contents displayed on the screen do not match, and the user according to the presentation of the options. And return control means for controlling return of the application based on the selection.

また、本発明にかかる多重化方法は、本番系又は待機系としてそれぞれ動作する複数のコンピュータで同一のアプリケーションを実行させるように制御し、前記複数のコンピュータのそれぞれで実行されている前記アプリケーションへの入力に対して出力される画面表示内容が互いに一致しているか否かを比較し、前記画面表示内容が一致していない場合に、前記アプリケーションのユーザに対して、前記アプリケーションの復帰処理の選択肢を提示し、前記選択肢の提示に応じてユーザによってなされた選択に基づいて、前記アプリケーションの復帰を制御する。   In addition, the multiplexing method according to the present invention controls a plurality of computers that respectively operate as a production system or a standby system to execute the same application, and applies to the application that is executed by each of the plurality of computers. The screen display contents output in response to the input are compared with each other, and if the screen display contents do not match, the application user is given an option for the return processing of the application. Presenting and controlling the return of the application based on a selection made by the user in response to the presentation of the option.

また、本発明にかかるプログラムは、本番系又は待機系としてそれぞれ動作する複数のコンピュータで同一のアプリケーションを実行させるように制御するステップと、前記複数のコンピュータのそれぞれで実行されている前記アプリケーションへの入力に対して出力される画面表示内容が互いに一致しているか否かを比較するステップと、前記画面表示内容が一致していない場合に、前記アプリケーションのユーザに対して、前記アプリケーションの復帰処理の選択肢を提示するステップと、前記選択肢の提示に応じてユーザによってなされた選択に基づいて、前記アプリケーションの復帰を制御するステップとを前記複数のコンピュータとは別のコンピュータに実行させる。   The program according to the present invention includes a step of controlling a plurality of computers that operate as a production system or a standby system to execute the same application, and a program for executing the application to each of the plurality of computers. The step of comparing whether or not the screen display contents output in response to the input match each other, and if the screen display contents do not match, the user of the application The step of presenting the option and the step of controlling the return of the application based on the selection made by the user in response to the presenting of the option are executed by a computer other than the plurality of computers.

本発明によれば、アプリケーションについて異常が発生した場合であっても、適切にアプリケーションの復帰動作を行うことが可能な制御装置、多重化システム、多重化方法及びプログラムを提供できる。   According to the present invention, it is possible to provide a control device, a multiplexing system, a multiplexing method, and a program that can appropriately perform a return operation of an application even when an abnormality occurs in the application.

本発明の実施の形態にかかる多重化システムの概要を示す図である。It is a figure which shows the outline | summary of the multiplexing system concerning embodiment of this invention. 実施の形態1にかかる多重化システムを示す図である。1 is a diagram showing a multiplexing system according to a first exemplary embodiment. 実施の形態1にかかる制御装置の構成を示す図である。1 is a diagram illustrating a configuration of a control device according to a first embodiment. 実施の形態1にかかる多重化システムによって行われる多重化方法を示すフローチャートである。3 is a flowchart showing a multiplexing method performed by the multiplexing system according to the first exemplary embodiment; 実施の形態1にかかる多重化システムによって行われる多重化方法を示すフローチャートである。3 is a flowchart showing a multiplexing method performed by the multiplexing system according to the first exemplary embodiment; 実施の形態1にかかる、多重化処理がなされた多重化システムを示す図である。1 is a diagram illustrating a multiplexing system subjected to a multiplexing process according to a first embodiment; 実施の形態1にかかる選択肢提示部の処理によって制御装置の入出力部に表示される選択肢表示画面を例示する図である。It is a figure which illustrates the option display screen displayed on the input-output part of a control apparatus by the process of the option presentation part concerning Embodiment 1. FIG. 実施の形態2にかかる多重化システムを示す図である。It is a figure which shows the multiplexing system concerning Embodiment 2. FIG. 実施の形態2にかかる多重化システムによって行われる多重化方法を示すフローチャートである。6 is a flowchart showing a multiplexing method performed by the multiplexing system according to the second exemplary embodiment; 実施の形態2にかかる多重化システムによって行われる多重化方法を示すフローチャートである。6 is a flowchart showing a multiplexing method performed by the multiplexing system according to the second exemplary embodiment; 実施の形態2にかかる、多重化処理がなされた多重化システムを示す図である。It is a figure which shows the multiplexing system by which the multiplexing process concerning Embodiment 2 was made | formed.

(本発明にかかる実施の形態の概要)
本発明の実施形態の説明に先立って、本発明にかかる実施の形態の概要について説明する。図1は、本発明の実施の形態にかかる多重化システム1の概要を示す図である。
(Outline of the embodiment of the present invention)
Prior to the description of the embodiment of the present invention, an outline of the embodiment according to the present invention will be described. FIG. 1 is a diagram showing an overview of a multiplexing system 1 according to an embodiment of the present invention.

多重化システム1は、複数の情報処理装置2A,2B及び制御装置10を有する。制御装置10、情報処理装置2A及び情報処理装置2Bは、互いに、有線又は無線のネットワーク4を介して通信可能に接続されている。制御装置10及び情報処理装置2は、プロセッサ、メモリ、通信装置等を有するコンピュータである。情報処理装置2A,2Bは、本番系又は待機系としてそれぞれ動作するコンピュータである。   The multiplexing system 1 includes a plurality of information processing devices 2A and 2B and a control device 10. The control device 10, the information processing device 2A, and the information processing device 2B are communicably connected to each other via a wired or wireless network 4. The control device 10 and the information processing device 2 are computers having a processor, a memory, a communication device, and the like. The information processing apparatuses 2A and 2B are computers that respectively operate as a production system or a standby system.

なお、図1には、多重化システム1が2つの情報処理装置2A,2Bを有する例が示されているが、情報処理装置2(2A,2B)の数は任意である。なお、情報処理装置2A及び情報処理装置2Bは、物理的に別個の構成要素である必要はない。さらに、情報処理装置2A及び情報処理装置2Bは、仮想マシン等の、1つのハードウェア上で論理的に別個に実現されたコンピュータであってもよい。つまり、情報処理装置2は、ハードウェアで構成される必要はなく、論理的な構成要素であってもよい。   Although FIG. 1 shows an example in which the multiplexing system 1 includes two information processing devices 2A and 2B, the number of information processing devices 2 (2A and 2B) is arbitrary. Note that the information processing apparatus 2A and the information processing apparatus 2B do not need to be physically separate components. Furthermore, the information processing apparatus 2A and the information processing apparatus 2B may be computers that are logically realized separately on one piece of hardware such as a virtual machine. That is, the information processing apparatus 2 does not need to be configured by hardware, and may be a logical component.

制御装置10は、多重化制御部12と、画面比較部13と、選択肢提示部14と、復帰制御部15とを有する。多重化制御部12は、情報処理装置2A,2Bで同一のアプリケーションを実行させるように制御する多重化制御手段としての機能を有する。画面比較部13は、情報処理装置2A,2Bのそれぞれで実行されているアプリケーションへの入力に対して出力される画面表示内容が互いに一致しているか否かを比較する比較手段としての機能を有する。   The control device 10 includes a multiplexing control unit 12, a screen comparison unit 13, an option presentation unit 14, and a return control unit 15. The multiplexing control unit 12 has a function as multiplexing control means for controlling the information processing apparatuses 2A and 2B to execute the same application. The screen comparison unit 13 has a function as a comparison unit that compares whether or not screen display contents output in response to input to an application executed in each of the information processing apparatuses 2A and 2B match each other. .

選択肢提示部14は、画面表示内容が一致していない場合に、アプリケーションのユーザに対して、アプリケーションの復帰処理の選択肢を提示する提示手段としての機能を有する。復帰制御部15は、選択肢の提示に応じてユーザによってなされた選択に基づいて、アプリケーションの復帰を制御する復帰制御手段としての機能を有する。   The option presenting unit 14 has a function as a presenting unit that presents an application return processing option to the application user when the screen display contents do not match. The return control unit 15 has a function as return control means for controlling the return of the application based on the selection made by the user in response to the presentation of the option.

本実施の形態にかかる多重化システム1は、上記のように構成されているので、複数のコンピュータで実行されているアプリケーションにかかる画面表示内容が互いに一致しないという異常が発生した場合に、ユーザの選択に応じた復帰動作を行うことができる。したがって、本実施の形態にかかる多重化システム1は、アプリケーションについて異常が発生した場合であっても、適切にアプリケーションの復帰動作を行うことが可能となる。なお、制御装置10及び制御装置10で実行される多重化方法を用いても、アプリケーションについて異常が発生した場合であっても、適切にアプリケーションの復帰動作を行うことが可能となる。   Since the multiplexing system 1 according to the present embodiment is configured as described above, when an abnormality occurs in which screen display contents relating to applications executed on a plurality of computers do not match each other, the user's A return operation according to the selection can be performed. Therefore, the multiplexing system 1 according to the present embodiment can appropriately perform the return operation of the application even when an abnormality occurs in the application. Even if the control device 10 and the multiplexing method executed by the control device 10 are used or an abnormality occurs in the application, it is possible to appropriately perform the return operation of the application.

(実施の形態1)
以下、実施形態について、図面を参照しながら説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
(Embodiment 1)
Hereinafter, embodiments will be described with reference to the drawings. For clarity of explanation, the following description and drawings are omitted and simplified as appropriate. Moreover, in each drawing, the same code | symbol is attached | subjected to the same element and duplication description is abbreviate | omitted as needed.

まず、実施の形態1について説明する。
図2は、実施の形態1にかかる多重化システム50を示す図である。多重化システム50は、共有ディスク装置60と、制御装置100と、情報処理装置200A(情報処理装置A)と、情報処理装置200B(情報処理装置B)とを有する。共有ディスク装置60、制御装置100、及び情報処理装置200A,200Bは、互いに、有線又は無線のネットワーク70を介して接続されている。
First, the first embodiment will be described.
FIG. 2 is a diagram illustrating the multiplexing system 50 according to the first embodiment. The multiplexing system 50 includes a shared disk device 60, a control device 100, an information processing device 200A (information processing device A), and an information processing device 200B (information processing device B). The shared disk device 60, the control device 100, and the information processing devices 200A and 200B are connected to each other via a wired or wireless network 70.

共有ディスク装置60は、情報処理装置200A及び情報処理装置200Bに共有されており、情報処理装置200A及び情報処理装置200Bからアクセスされる。そして、共有ディスク装置60は、情報処理装置200A及び情報処理装置200Bからのデータを格納する。また、共有ディスク装置60は、情報処理装置200A及び情報処理装置200Bに対し、格納されているデータを提供する。   The shared disk device 60 is shared by the information processing device 200A and the information processing device 200B, and is accessed from the information processing device 200A and the information processing device 200B. The shared disk device 60 stores data from the information processing device 200A and the information processing device 200B. The shared disk device 60 also provides stored data to the information processing device 200A and the information processing device 200B.

図3は、実施の形態1にかかる制御装置100の構成を示す図である。制御装置100は、ユーザによって操作されユーザに情報を提供するクライアントPC(Personal Computer)として動作するコンピュータである。制御装置100は、ハードウェアとして、プロセッサ101と、メモリ102と、ディスク装置103と、通信装置104と、入出力部106とを有する。   FIG. 3 is a diagram illustrating a configuration of the control device 100 according to the first embodiment. The control device 100 is a computer that operates as a client PC (Personal Computer) that is operated by a user and provides information to the user. The control device 100 includes a processor 101, a memory 102, a disk device 103, a communication device 104, and an input / output unit 106 as hardware.

プロセッサ101は、例えばCPU(Central Processing Unit)である。プロセッサ101は、制御処理及び演算処理等を行う演算装置としての機能を有する。メモリ102は、例えばRAM(Random Access Memory)である。メモリ102は、プロセッサ101の処理に関する処理データ等を一時的に記憶するための機能を有する。ディスク装置103は、例えばハードディスクドライブ(HDD)である。ディスク装置103は、プロセッサ101によって実行され得る様々なプログラムを格納する。通信装置104は、例えばネットワークインタフェースカード(NIC;Network Interface Card)である。通信装置104は、ネットワーク70を介して情報処理装置200等の他のノードと通信を行うために使用される。   The processor 101 is, for example, a CPU (Central Processing Unit). The processor 101 has a function as an arithmetic device that performs control processing, arithmetic processing, and the like. The memory 102 is, for example, a RAM (Random Access Memory). The memory 102 has a function for temporarily storing processing data related to the processing of the processor 101. The disk device 103 is, for example, a hard disk drive (HDD). The disk device 103 stores various programs that can be executed by the processor 101. The communication device 104 is, for example, a network interface card (NIC). The communication device 104 is used to communicate with other nodes such as the information processing device 200 via the network 70.

入出力部106は、ユーザインタフェースとしての機能を有する。入出力部106は、例えば、ディスプレイ等の表示装置、及び、キーボード又はポインティングデバイス(例えばマウス)等の入力装置である。あるいは、入出力部106は、例えば、表示装置と入力装置とが一体となったタッチパネル等である。入出力部106は、プロセッサ101によって実行されるプログラムの処理に関する画面を表示してユーザに視認可能とする。また、入出力部106は、ユーザの操作を受け付ける。   The input / output unit 106 has a function as a user interface. The input / output unit 106 is, for example, a display device such as a display and an input device such as a keyboard or a pointing device (for example, a mouse). Alternatively, the input / output unit 106 is, for example, a touch panel in which a display device and an input device are integrated. The input / output unit 106 displays a screen related to the processing of the program executed by the processor 101 and makes it visible to the user. The input / output unit 106 accepts user operations.

さらに、制御装置100は、ソフトウェアとして、仮想基盤クライアント110を有する。仮想基盤クライアント110は、ディスク装置103に格納され、制御装置100にインストールされている。仮想基盤クライアント110については後述する。なお、仮想基盤クライアント110は、VDI(Virtual Desktop Infrastructure;仮想デスクトップインフラストラクチャー)によって実現されてもよい。   Furthermore, the control device 100 includes a virtual infrastructure client 110 as software. The virtual infrastructure client 110 is stored in the disk device 103 and installed in the control device 100. The virtual infrastructure client 110 will be described later. The virtual infrastructure client 110 may be realized by a VDI (Virtual Desktop Infrastructure).

情報処理装置200A,200Bは、サーバとして動作するコンピュータである。情報処理装置200A及び情報処理装置200Bは、一方が本番系(運用系)のサーバ、他方が待機系(予備系)のサーバとして動作し得る。情報処理装置200A及び情報処理装置200Bは、物理的に1つの装置に組み込まれていてもよいし、物理的に別個であってもよい。なお、以下、情報処理装置200A,200B等の複数ある構成要素を区別することなく説明するときは、単に、情報処理装置200等と記載することがある。なお、図2は、多重化システム50が2つの情報処理装置200A,200Bを有する例を示すが、情報処理装置200の数は任意である。   The information processing apparatuses 200A and 200B are computers that operate as servers. One of the information processing apparatus 200A and the information processing apparatus 200B can operate as a production (active) server and the other as a standby (standby) server. The information processing device 200A and the information processing device 200B may be physically incorporated in one device or may be physically separate. Hereinafter, when a plurality of components such as the information processing apparatuses 200A and 200B are described without distinction, they may be simply referred to as the information processing apparatus 200 or the like. 2 shows an example in which the multiplexing system 50 includes two information processing devices 200A and 200B, but the number of information processing devices 200 is arbitrary.

情報処理装置200A及び情報処理装置200Bは、それぞれ、ハードウェア202A及びハードウェア202Bを有する。ハードウェア202は、プロセッサ101、メモリ102、ディスク装置103及び通信装置104と実質的に同様の構成を有する。   The information processing device 200A and the information processing device 200B have hardware 202A and hardware 202B, respectively. The hardware 202 has substantially the same configuration as the processor 101, the memory 102, the disk device 103, and the communication device 104.

また、情報処理装置200A及び情報処理装置200Bは、それぞれ、ハイパーバイザ210A及びハイパーバイザ210Bを有する。ハイパーバイザ210A及びハイパーバイザ210Bは、それぞれ、ハードウェア202A及びハードウェア202Bのディスク装置に格納されているプログラムである。ハイパーバイザ210Aは、1つのハードウェア202A上で1つ以上の仮想マシン(仮想マシン220A)を実行するための処理を行う、仮想化制御手段としての機能を有する。同様に、ハイパーバイザ210Bは、1つのハードウェア202B上で1つ以上の仮想マシン(図6に示す仮想マシン220B)を実行するための処理を行う、仮想化制御手段としての機能を有する。ハイパーバイザ210A及びハイパーバイザ210Bは、共有ディスク装置60にデータを書き込み、共有ディスク装置60に格納されたデータを読み出すことができる。ハイパーバイザ210の動作については後述する。   Further, the information processing apparatus 200A and the information processing apparatus 200B include a hypervisor 210A and a hypervisor 210B, respectively. The hypervisor 210A and the hypervisor 210B are programs stored in the disk devices of the hardware 202A and the hardware 202B, respectively. The hypervisor 210A has a function as a virtualization control unit that performs processing for executing one or more virtual machines (the virtual machine 220A) on one piece of hardware 202A. Similarly, the hypervisor 210B has a function as a virtualization control unit that performs processing for executing one or more virtual machines (the virtual machine 220B illustrated in FIG. 6) on one piece of hardware 202B. The hypervisor 210A and the hypervisor 210B can write data to the shared disk device 60 and read the data stored in the shared disk device 60. The operation of the hypervisor 210 will be described later.

仮想マシン220は、物理的な構成要素であるハードウェア202と同様に、論理的な構成要素である仮想プロセッサ、仮想メモリ、仮想ディスク及び仮想NIC等を有する。仮想マシン220は、仮想NICを用いて、ハイパーバイザ210と通信を行うことができる。なお、図2に示した例では、情報処理装置200Aにおいて仮想マシン220Aが実行されており、情報処理装置200Bにおいて仮想マシン220は実行されていない。仮想マシン220Aは、ハイパーバイザ210にインストールされている。   Similarly to the hardware 202 that is a physical component, the virtual machine 220 includes a virtual processor, a virtual memory, a virtual disk, and a virtual NIC that are logical components. The virtual machine 220 can communicate with the hypervisor 210 using a virtual NIC. In the example illustrated in FIG. 2, the virtual machine 220A is executed in the information processing apparatus 200A, and the virtual machine 220 is not executed in the information processing apparatus 200B. The virtual machine 220A is installed in the hypervisor 210.

仮想マシン220Aには、ゲストOS230Aがインストールされている。ゲストOS230Aは、仮想マシン220A上で動作するOS(仮想OS)である。ゲストOS230Aは、制御装置100のユーザに視覚的なインタフェースを提供するGUI(Graphical User Interface)を備えている。また、ゲストOS230Aには、ユーザが制御装置100を用いて使用するアプリケーション240Aがインストールされている。また、ゲストOS230Aには、VM(Virtual Machine)ツール250Aがインストールされている。なお、仮想マシン220A、ゲストOS230A及びアプリケーション240Aを構成するためのデータは、ハードウェア202Aのディスク装置に格納されている。なお、後述する仮想マシン220Bについても、上述した仮想マシン220Aと同様である。   A guest OS 230A is installed in the virtual machine 220A. The guest OS 230A is an OS (virtual OS) that runs on the virtual machine 220A. The guest OS 230A includes a GUI (Graphical User Interface) that provides a visual interface to the user of the control device 100. The guest OS 230A is installed with an application 240A used by the user using the control device 100. In addition, a VM (Virtual Machine) tool 250A is installed in the guest OS 230A. Note that data for configuring the virtual machine 220A, the guest OS 230A, and the application 240A is stored in a disk device of the hardware 202A. The virtual machine 220B described later is the same as the virtual machine 220A described above.

制御装置100は、仮想基盤クライアント110の機能によって、ハイパーバイザ210に対して管理のための指示を送信する。この管理のための指示は、仮想マシン220の生成、仮想マシン220の起動、ゲストOS230のシャットダウン、ゲストOS230の再起動、仮想マシン220のテンプレートの生成及び展開、VMツール250のインストール、及びハイパーバイザ210の再起動を含む。ハイパーバイザ210は、各指示を受け付けると、その指示に応じた処理を行う。   The control device 100 transmits an instruction for management to the hypervisor 210 by the function of the virtual infrastructure client 110. Instructions for this management are creation of the virtual machine 220, startup of the virtual machine 220, shutdown of the guest OS 230, restart of the guest OS 230, creation and deployment of a template of the virtual machine 220, installation of the VM tool 250, and hypervisor Including 210 restarts. When the hypervisor 210 receives each instruction, the hypervisor 210 performs processing according to the instruction.

また、仮想基盤クライアント110は、ハイパーバイザ210上で実行されているゲストOS230に関する画面表示内容を、入出力部106に表示させる。これにより、ユーザは、入出力部106に表示されたゲストOS230に関する画面表示内容を視覚的に確認することができる。したがって、ユーザは、入出力部106を用いてアプリケーション240の画面表示内容を視覚的に確認することができる。さらに、ユーザは、ゲストOS230で実現されているGUIを介して、マウス又はタッチパネル等のポインティングデバイス又はキーボード等によって、入力を行うことも可能である。   In addition, the virtual infrastructure client 110 causes the input / output unit 106 to display screen display contents related to the guest OS 230 executed on the hypervisor 210. As a result, the user can visually confirm the screen display content related to the guest OS 230 displayed on the input / output unit 106. Therefore, the user can visually confirm the screen display content of the application 240 using the input / output unit 106. Furthermore, the user can also perform input using a pointing device such as a mouse or a touch panel, a keyboard, or the like via a GUI implemented in the guest OS 230.

各ハイパーバイザ210は、仮想マシン220のテンプレートの生成の指示を受け付けると、指定された仮想マシン220を参照して、その仮想マシン220の上のゲストOS230、VMツール250及びアプリケーション240を含むテンプレート62を生成する。そして、ハイパーバイザ210は、生成されたテンプレート62を、共有ディスク装置60上の指定された領域に格納する。VMツール250の機能については後述する。   When each hypervisor 210 receives an instruction to generate a template of the virtual machine 220, the template 62 includes the guest OS 230, the VM tool 250, and the application 240 on the virtual machine 220 with reference to the specified virtual machine 220. Is generated. Then, the hypervisor 210 stores the generated template 62 in a designated area on the shared disk device 60. The function of the VM tool 250 will be described later.

また、各ハイパーバイザ210は、仮想マシン220のテンプレートの展開の指示を受け付けると、指定されたテンプレートを参照して、元の仮想マシン220の複製を生成する。各ハイパーバイザ210から参照できる共有ディスク装置60上のディスク領域にテンプレートを格納することで、別のハイパーバイザ210に仮想マシン220の複製を生成することができる。例えば、ハイパーバイザ210Bは、テンプレート62を展開して、仮想マシン220Aの複製(仮想マシン220B)を生成することができる。   When each hypervisor 210 receives an instruction to expand the template of the virtual machine 220, each hypervisor 210 refers to the specified template and generates a copy of the original virtual machine 220. By storing the template in a disk area on the shared disk device 60 that can be referenced from each hypervisor 210, a replica of the virtual machine 220 can be generated on another hypervisor 210. For example, the hypervisor 210B can expand the template 62 and generate a copy of the virtual machine 220A (virtual machine 220B).

また、各ハイパーバイザ210は、VMツール250のインストールの指示を受け付けると、VMツール250をゲストOS230にインストールする機能を有する。ハイパーバイザ210は、VMツール250と通信を行い、保護対象のアプリケーション240を起動及び終了する機能を有する。ここで、「保護対象のアプリケーション」とは、そのアプリケーションを実行しているシステム(情報処理装置200等)に何らかの異常があったとしても、データの破壊及びアプリケーションの継続不能を防止すべきアプリケーションのことをいう。本実施の形態では、アプリケーションの冗長化によって、アプリケーションを保護し得る。   Each hypervisor 210 has a function of installing the VM tool 250 in the guest OS 230 when receiving an instruction to install the VM tool 250. The hypervisor 210 communicates with the VM tool 250 and has a function of starting and ending the application 240 to be protected. Here, the “application to be protected” refers to an application that should prevent data destruction and inability to continue the application even if there is some abnormality in the system (such as the information processing apparatus 200) that executes the application. That means. In this embodiment, the application can be protected by application redundancy.

また、各ハイパーバイザ210は、VMツール250からゲストOS230の起動が完了したことを示す通知を受け付け、この通知に応じて制御装置100の仮想基盤クライアント110に対してゲストOS230の起動が完了したことを示す通知を送信する機能を有する。また、各ハイパーバイザ210は、VMツール250を介して、保護対象のアプリケーション240のウィンドウ範囲を示す情報を取得して、その情報を制御装置100の仮想基盤クライアント110に対して送信する機能を有する。また、各ハイパーバイザ210は、VMツール250を介して、保護対象のアプリケーション240のアプリケーション環境をゲストOS230から取得し、その環境を他のゲストOS230へ、VMツール250を介して複製する機能を有する。   Further, each hypervisor 210 receives a notification indicating that the activation of the guest OS 230 has been completed from the VM tool 250, and that the activation of the guest OS 230 has been completed for the virtual infrastructure client 110 of the control device 100 in response to this notification. It has the function to transmit the notification which shows. Each hypervisor 210 has a function of acquiring information indicating the window range of the application 240 to be protected via the VM tool 250 and transmitting the information to the virtual infrastructure client 110 of the control device 100. . Each hypervisor 210 has a function of acquiring the application environment of the application 240 to be protected from the guest OS 230 via the VM tool 250 and replicating the environment to the other guest OS 230 via the VM tool 250. .

アプリケーション240Aは、ゲストOS230Aでカプセル化されている。したがって、アプリケーション240Aに関する、バイナリデータ、使用ライブラリ、設定ファイル、使用ファイル(作業ファイル)等のアプリケーション240Aの実行環境(アプリケーション環境)に変更があった場合でも、アプリケーション240A(の実行環境)は、容易に他のゲストOS230に複製され得る。ユーザは、アプリケーション240Aを使用する際に、アプリケーション240A上で作業ファイルを開き、GUI又はキーボード等によって、アプリケーション240Aに対して入力を行い、作業ファイルを保存する。なお、アプリケーション240Aは、ユーザの入力に対して、特定の画面表示内容を含む応答を送信する。ここで、本実施の形態にかかるアプリケーション240は、好ましくは、乱数又はシステムの時刻等により画面表示が変更されるアプリケーション、サーバ/クライアント型のアプリケーションなど、ユーザの入力内容に関係なく変化する画面表示を行うアプリケーションではない。   The application 240A is encapsulated by the guest OS 230A. Therefore, even when the execution environment (application environment) of the application 240A such as binary data, use library, setting file, use file (work file) regarding the application 240A is changed, the application 240A (execution environment) is easy. Can be copied to another guest OS 230. When using the application 240A, the user opens a work file on the application 240A, inputs to the application 240A using a GUI or a keyboard, and saves the work file. The application 240A transmits a response including specific screen display contents in response to the user input. Here, the application 240 according to the present embodiment is preferably a screen display that changes regardless of the input contents of the user, such as an application whose screen display is changed by a random number or system time, a server / client type application, or the like. It is not an application that does.

VMツール250は、ハイパーバイザ210からの指示で、自身に登録されている保護対象のアプリケーション240を起動又は終了する機能を有する。VMツール250は、自身がインストールされているゲストOS230の起動が完了したことを、ハイパーバイザ210に通知する機能を有する。また、ゲストOS230は、起動しているアプリケーション240の画面表示内容が表示されているウィンドウ範囲を示す情報(ウィンドウ範囲情報)を有している。VMツール250は、ゲストOS230からこのウィンドウ範囲情報を取得して、ハイパーバイザ210に対して送信する機能を有する。   The VM tool 250 has a function of starting or terminating the protection target application 240 registered in itself according to an instruction from the hypervisor 210. The VM tool 250 has a function of notifying the hypervisor 210 that the activation of the guest OS 230 in which the VM tool 250 is installed has been completed. The guest OS 230 also has information (window range information) indicating the window range in which the screen display content of the running application 240 is displayed. The VM tool 250 has a function of acquiring this window range information from the guest OS 230 and transmitting it to the hypervisor 210.

また、VMツール250は、ユーザがアプリケーション240の保護の開始時に、その保護対象のアプリケーション240の起動ファイルの位置をこのVMツール250に指定するためのインタフェースを有する。また、VMツール250は、保護対象のアプリケーション240の実行環境(アプリケーション環境)をゲストOS230から取得して、ハイパーバイザ210に送信する機能を有する。さらに、VMツール250は、ハイパーバイザ210から受け付けた保護対象のアプリケーション240のアプリケーション環境を、自身がインストールされたゲストOS230へ複製して反映する機能を有する。   Further, the VM tool 250 has an interface for designating the location of the activation file of the application 240 to be protected to the VM tool 250 when the user starts protection of the application 240. Further, the VM tool 250 has a function of acquiring the execution environment (application environment) of the application 240 to be protected from the guest OS 230 and transmitting it to the hypervisor 210. Further, the VM tool 250 has a function of copying and reflecting the application environment of the protection target application 240 received from the hypervisor 210 to the guest OS 230 in which the VM tool 250 is installed.

仮想基盤クライアント110は、多重化制御部112、入力送信部120、画面比較部130、選択肢提示部140、及び復帰制御部150を有する。多重化制御部112は、本番系設定部114及び多重化処理部116を有する。復帰制御部150は、本番系選択部152及び環境複製部154を有する。多重化制御部112、画面比較部130、選択肢提示部140、及び復帰制御部150は、それぞれ、図1に示された多重化制御部12、画面比較部13、選択肢提示部14、及び復帰制御部15に対応する。   The virtual infrastructure client 110 includes a multiplexing control unit 112, an input transmission unit 120, a screen comparison unit 130, an option presentation unit 140, and a return control unit 150. The multiplexing control unit 112 includes a production system setting unit 114 and a multiplexing processing unit 116. The return control unit 150 includes a production system selection unit 152 and an environment replication unit 154. The multiplexing control unit 112, the screen comparison unit 130, the option presentation unit 140, and the return control unit 150 are respectively the multiplexing control unit 12, the screen comparison unit 13, the option presentation unit 14, and the return control illustrated in FIG. This corresponds to part 15.

多重化制御部112は、ゲストOS230へVMツール250をインストールするように、ハイパーバイザ210に対して指示する機能を有する。また、多重化制御部112は、VMツール250を介して保護対象のアプリケーション240をユーザに指定させるための機能を有する。また、多重化制御部112は、保護対象のアプリケーション240、そのアプリケーション240が動作するゲストOS230、及びそのアプリケーション240を実行するハイパーバイザ210(及び情報処理装置200)を本番系と設定する機能を有する。また、多重化制御部112は、待機系とすべきアプリケーション240、そのアプリケーション240が起動するゲストOS230、及びそのアプリケーション240を起動させるハイパーバイザ210(及び情報処理装置200)を、待機系と設定する機能を有する。これにより、多重化制御部112は、本番系又は待機系としてそれぞれ動作する複数のコンピュータである情報処理装置200A,200Bで同一のアプリケーションを実行させるように制御する多重化制御手段としての機能を有する。   The multiplexing control unit 112 has a function of instructing the hypervisor 210 to install the VM tool 250 in the guest OS 230. Further, the multiplexing control unit 112 has a function for causing the user to designate the application 240 to be protected via the VM tool 250. Further, the multiplexing control unit 112 has a function of setting the protection target application 240, the guest OS 230 in which the application 240 operates, and the hypervisor 210 (and the information processing apparatus 200) that executes the application 240 as the production system. . Also, the multiplexing control unit 112 sets the application 240 to be set as the standby system, the guest OS 230 that the application 240 starts up, and the hypervisor 210 (and the information processing apparatus 200) that starts up the application 240 as the standby system. It has a function. Thereby, the multiplexing control unit 112 has a function as a multiplexing control unit that controls the information processing apparatuses 200A and 200B, which are a plurality of computers that respectively operate as a production system or a standby system, to execute the same application. .

入力送信部120は、ユーザからのアプリケーション240に対する入力を受け付ける。そして、入力送信部120は、その入力を、本番系及び待機系のハイパーバイザ210に対して同時に送信する。また、入力送信部120は、入力に対する応答のないハイパーバイザ210に対してpingコマンドを実行する。また、入力送信部120は、入出力部106を用いて、ユーザに対して、ハイパーバイザ210での入力状況について通知して対応の選択肢を提示する機能を有する。さらに、入力送信部120は、それぞれの選択肢に応じた処理を行う機能を有する。   The input transmission unit 120 receives an input to the application 240 from the user. Then, the input transmission unit 120 transmits the input to the production and standby hypervisors 210 simultaneously. The input transmission unit 120 executes a ping command for the hypervisor 210 that does not respond to the input. In addition, the input transmission unit 120 has a function of notifying the user of the input status in the hypervisor 210 using the input / output unit 106 and presenting corresponding options. Furthermore, the input transmission unit 120 has a function of performing processing according to each option.

画面比較部130は、本番系及び待機系のハイパーバイザ210それぞれから、保護対象のアプリケーション240のウィンドウ範囲情報を取得する。そして、画面比較部130は、本番系のアプリケーション240の画面表示内容と待機系のアプリケーション240の画面表示内容とを比較して、互いに一致しているか否かを判定する。これにより、画面比較部130は、複数のコンピュータである情報処理装置200A,200Bのそれぞれで実行されているアプリケーション240A,240Bへの入力に対して出力される画面表示内容が一致しているか否かを比較する比較手段としての機能を有する。   The screen comparison unit 130 acquires the window range information of the application 240 to be protected from each of the production and standby hypervisors 210. Then, the screen comparison unit 130 compares the screen display contents of the production application 240 with the screen display contents of the standby application 240 and determines whether or not they match each other. Thereby, the screen comparison unit 130 determines whether or not the screen display contents output for the inputs to the applications 240A and 240B executed by the information processing apparatuses 200A and 200B, which are a plurality of computers, match. It has a function as a comparison means for comparing.

選択肢提示部140は、本番系のアプリケーション240の画面表示内容と待機系のアプリケーション240の画面表示内容とが一致していない場合に、その旨を、入出力部106を用いてユーザに通知する。さらに、選択肢提示部140は、保護対象のアプリケーション240の復帰処理(リカバリ処理)の選択肢を提示する。また、選択肢提示部140は、本番系のアプリケーション240及び待機系のアプリケーション240それぞれの最新の画面表示内容を、ユーザに提示する機能を有する。この最新の画面表示内容の提示は、本番系のアプリケーション240の画面表示内容と待機系のアプリケーション240の画面表示内容とが一致しているか否かに関わらず、行われてもよい。選択肢提示部140は、画面表示内容が一致していない場合に、アプリケーション240のユーザに対して、アプリケーション240の復帰処理の選択肢を提示する提示手段としての機能を有する。   When the screen display content of the production application 240 does not match the screen display content of the standby application 240, the option presentation unit 140 notifies the user using the input / output unit 106. Further, the option presenting unit 140 presents options for the return process (recovery process) of the application 240 to be protected. The option presentation unit 140 has a function of presenting the latest screen display contents of the production application 240 and the standby application 240 to the user. The latest screen display content may be presented regardless of whether the screen display content of the production application 240 matches the screen display content of the standby application 240 or not. The option presentation unit 140 has a function as a presentation unit that presents the user of the application 240 with a return processing option of the application 240 when the screen display contents do not match.

復帰制御部150は、選択肢提示部140によって提示されたそれぞれの選択肢に応じた復帰処理を行う機能を有する。また、復帰制御部150は、ハイパーバイザ210に対して、保護対象のアプリケーション240のアプリケーション環境を、他のゲストOS230に複製するように指示する機能を有する。そして、復帰制御部150は、選択肢の提示に応じてユーザによってなされた選択に基づいて、アプリケーション240の復帰を制御する復帰制御手段としての機能を有する。   The return control unit 150 has a function of performing return processing according to each option presented by the option presenting unit 140. Further, the return control unit 150 has a function of instructing the hypervisor 210 to copy the application environment of the application 240 to be protected to another guest OS 230. The return control unit 150 has a function as a return control unit that controls the return of the application 240 based on the selection made by the user in response to the presentation of the option.

図4及び図5は、実施の形態1にかかる多重化システム50によって行われる多重化方法を示すフローチャートである。図4及び図5に示される処理は、主に、制御装置100(仮想基盤クライアント110)によって行われ得る。また、図4及び図5では、アプリケーション240A(APP_A)を保護対象とする。   4 and 5 are flowcharts illustrating a multiplexing method performed by the multiplexing system 50 according to the first embodiment. The processes shown in FIGS. 4 and 5 can be performed mainly by the control device 100 (virtual infrastructure client 110). 4 and 5, the application 240A (APP_A) is the protection target.

アプリケーション240Aが動作するゲストOS230Aに、VMツール250がインストールされる(ステップS102)。具体的には、仮想基盤クライアント110の多重化制御部112は、アプリケーション240Aを実行するハイパーバイザ210Aに対して、ゲストOS230AにVMツール250Aをインストールするように指示する。ハイパーバイザ210Aは、この指示に応じて、アプリケーション240Aが動作するゲストOS230Aに、VMツール250Aをインストールする。   The VM tool 250 is installed in the guest OS 230A on which the application 240A runs (step S102). Specifically, the multiplexing control unit 112 of the virtual infrastructure client 110 instructs the hypervisor 210A that executes the application 240A to install the VM tool 250A in the guest OS 230A. In response to this instruction, the hypervisor 210A installs the VM tool 250A in the guest OS 230A in which the application 240A operates.

仮想基盤クライアント110は、本番系の設定を行う(ステップS104)。具体的には、多重化制御部112の本番系設定部114は、保護対象であるアプリケーション240Aを、本番系のアプリケーション240と設定する。また、本番系設定部114は、保護対象のアプリケーション240Aが動作するゲストOS230A及び仮想マシン220Aを、それぞれ、本番系のゲストOS230及び仮想マシン220と設定する。また、本番系設定部114は、保護対象のアプリケーション240Aを実行するハイパーバイザ210Aを本番系のハイパーバイザ210と設定し、情報処理装置200Aを本番系の情報処理装置200と設定する。   The virtual infrastructure client 110 sets the production system (step S104). Specifically, the production system setting unit 114 of the multiplexing control unit 112 sets the application 240A to be protected as the production application 240. Further, the production system setting unit 114 configures the guest OS 230A and the virtual machine 220A in which the protection target application 240A operates as the production system guest OS 230 and the virtual machine 220, respectively. Further, the production system setting unit 114 sets the hypervisor 210A that executes the protected application 240A as the production system hypervisor 210, and sets the information processing apparatus 200A as the production system information processing apparatus 200.

一方、本番系設定部114は、本番系である情報処理装置200Aとは異なる他の情報処理装置200Bで実行されるハイパーバイザ210Bを、待機系のハイパーバイザ210と設定する。なお、本番系設定部114は、情報処理装置200Bを、待機系の情報処理装置200と設定してもよい。   On the other hand, the production system setting unit 114 sets the hypervisor 210B executed by another information processing apparatus 200B different from the information processing apparatus 200A that is the production system, as the standby hypervisor 210. The production system setting unit 114 may set the information processing apparatus 200B as the standby information processing apparatus 200.

多重化システム50は、多重化処理を行う(ステップS106)。図6は、実施の形態1にかかる、多重化処理がなされた多重化システム50を示す図である。仮想基盤クライアント110の多重化処理部116は、ハイパーバイザ210Aに対して、テンプレート62を生成するように指示する。ハイパーバイザ210Aは、この指示に応じて、ゲストOS230Aをシャットダウンして、仮想マシン220Aからテンプレート62を生成する。ハイパーバイザ210Aは、生成されたテンプレート62を、共有ディスク装置60上の指定された領域に格納する。   The multiplexing system 50 performs a multiplexing process (step S106). FIG. 6 is a diagram illustrating a multiplexing system 50 subjected to multiplexing processing according to the first embodiment. The multiplexing processing unit 116 of the virtual infrastructure client 110 instructs the hypervisor 210A to generate the template 62. In response to this instruction, the hypervisor 210A shuts down the guest OS 230A and generates the template 62 from the virtual machine 220A. The hypervisor 210A stores the generated template 62 in a specified area on the shared disk device 60.

多重化処理部116は、ハイパーバイザ210Bに対して、共有ディスク装置60に格納された、仮想マシン220Aに対応するテンプレート62の展開を指示する。ハイパーバイザ210Bは、この指示に応じて、テンプレート62から、仮想マシン220Aの複製である仮想マシン220Bを生成する。また、ハイパーバイザ210Bは、ゲストOS230Aの複製であるゲストOS230Bを生成する。また、ハイパーバイザ210Bは、アプリケーション240Aの複製であるアプリケーション240Bを生成する。また、ハイパーバイザ210Bは、VMツール250Aの複製であるVMツール250Bを生成する。そして、多重化制御部112(本番系設定部114)は、仮想マシン220Bを待機系の仮想マシン220と設定し、ゲストOS230Bを待機系のゲストOS230と設定し、アプリケーション240Bを待機系のアプリケーション240と設定する。このようにして、図6に示すように、待機系のシステムが生成される。   The multiplexing processing unit 116 instructs the hypervisor 210B to deploy the template 62 corresponding to the virtual machine 220A stored in the shared disk device 60. In response to this instruction, the hypervisor 210B generates a virtual machine 220B that is a copy of the virtual machine 220A from the template 62. The hypervisor 210B generates a guest OS 230B that is a copy of the guest OS 230A. The hypervisor 210B generates an application 240B that is a copy of the application 240A. Further, the hypervisor 210B generates a VM tool 250B that is a copy of the VM tool 250A. Then, the multiplexing control unit 112 (production system setting unit 114) sets the virtual machine 220B as the standby virtual machine 220, sets the guest OS 230B as the standby guest OS 230, and sets the application 240B as the standby application 240. And set. In this way, a standby system is generated as shown in FIG.

次に、多重化システム50は、アプリケーション240の起動処理を行う(ステップS108)。具体的には、仮想基盤クライアント110の多重化制御部112は、ハイパーバイザ210A及びハイパーバイザ210Bに対して、それぞれアプリケーション240A及びアプリケーション240Bを起動するように指示する。ハイパーバイザ210A及びハイパーバイザ210Bは、この指示に応じて、それぞれ仮想マシン220A及び仮想マシン220Bを起動する。仮想マシン220A及び仮想マシン220Bは、それぞれ、ゲストOS230A及びゲストOS230Bを起動する。   Next, the multiplexing system 50 performs the activation process of the application 240 (step S108). Specifically, the multiplexing control unit 112 of the virtual infrastructure client 110 instructs the hypervisor 210A and the hypervisor 210B to start the application 240A and the application 240B, respectively. In response to this instruction, the hypervisor 210A and the hypervisor 210B activate the virtual machine 220A and the virtual machine 220B, respectively. The virtual machine 220A and the virtual machine 220B start the guest OS 230A and the guest OS 230B, respectively.

ハイパーバイザ210Aは、VMツール250AからゲストOS230Aの起動が完了したことを示す通知を受け付けた後、VMツール250Aを介して、アプリケーション240Aを起動する。同様に、ハイパーバイザ210Bは、VMツール250BからゲストOS230Bの起動が完了したことを示す通知を受け付けた後、VMツール250Bを介して、アプリケーション240Bを起動する。   The hypervisor 210A activates the application 240A via the VM tool 250A after receiving a notification indicating that the activation of the guest OS 230A is completed from the VM tool 250A. Similarly, after receiving a notification indicating that the activation of the guest OS 230B is completed from the VM tool 250B, the hypervisor 210B activates the application 240B via the VM tool 250B.

なお、仮想基盤クライアント110は、予め設定された待機時間Tappwtだけ待機した後、アプリケーション240A及びアプリケーション240Bが共に起動を完了したと判断してもよい。したがって、待機時間Tappwtは、アプリケーション240A及びアプリケーション240Bの実際の起動完了時間よりも十分長いとする。そして、このとき、仮想基盤クライアント110は、アプリケーション240A及びアプリケーション240Bのウィンドウ範囲情報を取得して、後述する処理を行う。   Note that the virtual infrastructure client 110 may determine that both the application 240A and the application 240B have completed activation after waiting for a preset standby time Tappwt. Therefore, the standby time Tappwt is sufficiently longer than the actual activation completion time of the application 240A and the application 240B. At this time, the virtual infrastructure client 110 acquires the window range information of the application 240A and the application 240B, and performs the process described later.

仮想基盤クライアント110は、アプリケーション240Aに対してユーザから入力があったか否かを判定する(ステップS110)。そして、ユーザから入力があった場合(S110のYES)、入力送信部120は、入力内容を、ハイパーバイザ210A及びハイパーバイザ210Bに対して同時に送信する(ステップS112)。ハイパーバイザ210A及びハイパーバイザ210Bは、送信された入力内容を受信すると、入力内容を、それぞれアプリケーション240A及びアプリケーション240Bに入力し反映する。これにより、アプリケーション240A及びアプリケーション240Bは、システムに異常が発生していなければ、入力内容に応じた動作を行い得る。   The virtual infrastructure client 110 determines whether or not there is an input from the user for the application 240A (step S110). When there is an input from the user (YES in S110), the input transmission unit 120 transmits the input content to the hypervisor 210A and the hypervisor 210B at the same time (step S112). Upon receiving the transmitted input content, the hypervisor 210A and the hypervisor 210B input and reflect the input content in the application 240A and the application 240B, respectively. Accordingly, the application 240A and the application 240B can perform an operation according to the input content if no abnormality occurs in the system.

このとき、ハイパーバイザ210A及びハイパーバイザ210Bは、送信された入力内容を受信すると、入力内容を受信した旨を示す応答を、仮想基盤クライアント110に返す。ハイパーバイザ210A及びハイパーバイザ210Bの応答時間が仮想基盤クライアント110で予め設定された応答待ち時間Trwtを超える場合は、入力送信部120は、入力に対する応答のないハイパーバイザ210に対してpingコマンドを実行する。これによりそのハイパーバイザ210の応答がないと確認されると、入力送信部120は、「該当ハイパーバイザへの入力に対する応答がなく、ping応答もない」とユーザへ通知する。なお、pingコマンドに対してping応答があった場合は、入力送信部120は、「該当ハイパーバイザでping応答はあるが入力処理が遅れている」とユーザへ通知し、「応答待ち」又は「応答を待たない」の選択肢をユーザへ提示する。ユーザが、入出力部106を用いて「応答待ち」を選択すると、仮想基盤クライアント110の入力送信部120は、再び、応答待ち時間Trwtの時間、入力に対する応答を待つ。   At this time, upon receiving the transmitted input content, the hypervisor 210A and the hypervisor 210B return a response indicating that the input content has been received to the virtual infrastructure client 110. When the response time of the hypervisor 210A and the hypervisor 210B exceeds the response waiting time Trwt set in advance by the virtual infrastructure client 110, the input transmission unit 120 executes the ping command for the hypervisor 210 that does not respond to the input. To do. When it is confirmed that there is no response from the hypervisor 210, the input transmission unit 120 notifies the user that “there is no response to the input to the corresponding hypervisor and no ping response”. If there is a ping response to the ping command, the input transmission unit 120 notifies the user that “the corresponding hypervisor has a ping response but the input processing is delayed”, and “waits for response” or “ The option “Do not wait for response” is presented to the user. When the user selects “wait for response” using the input / output unit 106, the input transmission unit 120 of the virtual infrastructure client 110 again waits for a response to the input for the response waiting time Trwt.

仮想基盤クライアント110の画面比較部130は、アプリケーション240A,240Bへの入力に対して出力される画面表示内容が一致しているか否かを比較する(ステップS120)。具体的には、画面比較部130は、アプリケーション240Aに対する入力があった後、仮想基盤クライアント110で予め設定されている待ち時間Tuiwtの間、待機する。そして、画面比較部130は、待機後の直近のアプリケーション240A及びアプリケーション240Bそれぞれのウィンドウ範囲の画面表示内容を比較する。なお、画面比較部130は、アプリケーション240の画面表示内容の全ての範囲について比較する必要はない。例えば、画面比較部130は、ある時間内で変化した表示内容のみ、比較してもよい。   The screen comparison unit 130 of the virtual infrastructure client 110 compares whether the screen display contents output for the input to the applications 240A and 240B match (step S120). Specifically, the screen comparison unit 130 waits for a waiting time Tuiut preset in the virtual infrastructure client 110 after input to the application 240A. Then, the screen comparison unit 130 compares the screen display contents of the window ranges of the latest application 240A and application 240B after waiting. Note that the screen comparison unit 130 does not have to compare the entire range of the screen display content of the application 240. For example, the screen comparison unit 130 may compare only display contents that have changed within a certain period of time.

画面表示内容が一致する場合(ステップS130のYES)、S110の処理に戻り、画面比較部130は、次回の入力があるまで待機する。そして、次回の入力があった場合に、画面比較部130は、再び、待ち時間Tuiwt待機した後、アプリケーション240A及びアプリケーション240Bの画面表示内容を比較する。なお、待ち時間Tuiwt待機する間に次の入力がなされた場合は、仮想基盤クライアント110は、待ち時間Tuiwtのカウンタをリセットして、再カウントを行う。   If the screen display contents match (YES in step S130), the process returns to S110, and the screen comparison unit 130 waits until the next input is received. Then, when there is a next input, the screen comparison unit 130 again waits for the waiting time Tuiwt, and then compares the screen display contents of the application 240A and the application 240B. When the next input is made while waiting for the waiting time Tuiwt, the virtual infrastructure client 110 resets the counter of the waiting time Tuiwt and performs re-counting.

一方、画面表示内容が一致しない場合(S130のNO)、画面比較部130は、N回、再比較処理を行う(ステップS132)。なお、Nは、予め定められた1以上の整数である。具体的には、画面比較部130は、N回、画面表示内容を比較していない場合(S132のNO)、S120の処理に戻り、待ち時間Tuiwt待機した後、アプリケーション240A及びアプリケーション240Bの画面表示内容を、再度比較する。なお、この再比較処理の途中で入力がなされた場合は、S120の処理に戻り、画面比較部130は、その入力について画面表示内容を比較する。   On the other hand, when the screen display contents do not match (NO in S130), the screen comparison unit 130 performs recomparison processing N times (step S132). N is a predetermined integer of 1 or more. Specifically, when the screen comparison unit 130 has not compared the screen display contents N times (NO in S132), the screen comparison unit 130 returns to the process of S120, waits for the waiting time Tuiwt, and then displays the screens of the applications 240A and 240B. Compare the contents again. If an input is made during the re-comparison process, the process returns to S120, and the screen comparison unit 130 compares the screen display contents for the input.

再比較処理をN回行っても画面表示内容が一致しない場合(S132のYES)、選択肢提示部140は、入出力部106を用いて、ユーザに対し、画面表示内容が一致しない旨の通知及び復帰処理についての選択肢の提示を行う(ステップS140)。その際、選択肢提示部140は、入出力部106を用いて、アプリケーション240Aの画面表示内容及びアプリケーション240Bの画面表示内容を、ユーザに提示する。選択肢提示部140は、図7に例示するような選択肢表示画面80を、入出力部106に表示させる。   If the screen display contents do not match even after the recomparison processing is performed N times (YES in S132), the option presenting unit 140 uses the input / output unit 106 to notify the user that the screen display contents do not match and Options for return processing are presented (step S140). At that time, the option presentation unit 140 uses the input / output unit 106 to present the screen display content of the application 240A and the screen display content of the application 240B to the user. The option presentation unit 140 causes the input / output unit 106 to display an option display screen 80 illustrated in FIG.

図7は、実施の形態1にかかる選択肢提示部140の処理によって制御装置100の入出力部106に表示される選択肢表示画面80を例示する図である。図7に例示する選択肢表示画面80は、情報処理装置200A(アプリケーション240A)の画面表示内容82A及び情報処理装置200B(アプリケーション240B)の画面表示内容82Bを含む。また、選択肢表示画面80は、選択肢#1〜選択肢#5を含む。   FIG. 7 is a diagram illustrating an option display screen 80 displayed on the input / output unit 106 of the control device 100 by the process of the option presenting unit 140 according to the first embodiment. The option display screen 80 illustrated in FIG. 7 includes a screen display content 82A of the information processing apparatus 200A (application 240A) and a screen display content 82B of the information processing apparatus 200B (application 240B). The option display screen 80 includes option # 1 to option # 5.

選択肢#1は、「通知を無視してそのまま続行する」である。選択肢#2は、「両方の結果が正しくないとしてアプリケーション(APP)を再起動する」である。選択肢#3は、「両方の結果が正しくないとしてゲストOSを再起動する」である。選択肢#4は、「両方の結果が正しくないとしてハイパーバイザ(HPV)を再起動する」である。選択肢#5は、「いずれかの結果が正しいとして復帰処理を行う」である。   Option # 1 is “Ignore the notification and continue as it is”. Option # 2 is “Restart application (APP) because both results are incorrect”. Option # 3 is “restart the guest OS because both results are incorrect”. Option # 4 is “Restart hypervisor (HPV) because both results are incorrect”. Option # 5 is “return processing is performed assuming that any result is correct”.

ユーザは、画面表示内容82A及び画面表示内容82Bを視認しながら、選択肢#1〜選択肢#5のいずれかを選択することができる。選択肢表示画面80は、例えばGUIによって実現され得る。そして、この選択操作は、例えば入出力部106がタッチパネルである場合、選択肢#1〜選択肢#5のいずれかのアイコンをユーザがタッチすることでなされ得る。   The user can select any one of option # 1 to option # 5 while viewing the screen display content 82A and the screen display content 82B. The option display screen 80 can be realized by a GUI, for example. For example, when the input / output unit 106 is a touch panel, the selection operation can be performed by the user touching any one of the options # 1 to # 5.

ユーザによって選択肢#1「通知を無視してそのまま続行する」が選択された場合(ステップS142のYES)、処理はS132の処理に戻る。ユーザによって選択肢#2「両方の結果が正しくないとしてアプリケーションを再起動する」が選択された場合(ステップS144のYES)、復帰制御部150は、ハイパーバイザ210A及びハイパーバイザ210Bに対し、それぞれアプリケーション240A及びアプリケーション240Bを再起動するように指示する(ステップS145)。これにより、ハイパーバイザ210A及びハイパーバイザ210Bは、それぞれアプリケーション240A及びアプリケーション240Bを再起動する。そして、処理はS110の処理に戻る。   If option # 1 “Ignore notification and continue as it is” is selected by the user (YES in step S142), the process returns to S132. When the user selects option # 2 “Restart the application because both results are incorrect” (YES in step S144), the return control unit 150 applies the application 240A to the hypervisor 210A and the hypervisor 210B, respectively. And instructing the application 240B to restart (step S145). Thereby, the hypervisor 210A and the hypervisor 210B restart the application 240A and the application 240B, respectively. Then, the process returns to S110.

ユーザによって選択肢#3「両方の結果が正しくないとしてゲストOSを再起動する」が選択された場合(ステップS146のYES)、復帰制御部150は、ハイパーバイザ210A及びハイパーバイザ210Bに対し、それぞれゲストOS230A及びゲストOS230Bを再起動するように指示する(ステップS147)。これにより、ハイパーバイザ210A及びハイパーバイザ210Bは、それぞれゲストOS230A及びゲストOS230Bを再起動する。その後、ハイパーバイザ210A及びハイパーバイザ210Bは、それぞれアプリケーション240A及びアプリケーション240Bを起動する。そして、処理はS110の処理に戻る。   When the user selects option # 3 “restart the guest OS because both results are incorrect” (YES in step S146), the return control unit 150 instructs the hypervisor 210A and the hypervisor 210B to An instruction is given to restart the OS 230A and the guest OS 230B (step S147). Thereby, the hypervisor 210A and the hypervisor 210B restart the guest OS 230A and the guest OS 230B, respectively. Thereafter, the hypervisor 210A and the hypervisor 210B start the application 240A and the application 240B, respectively. Then, the process returns to S110.

ユーザによって選択肢#4「両方の結果が正しくないとしてハイパーバイザを再起動する」が選択された場合(ステップS148のYES)、復帰制御部150は、ハイパーバイザ210A及びハイパーバイザ210Bに対し、再起動するように指示する(ステップS149)。これにより、ハイパーバイザ210A及びハイパーバイザ210Bは、自身を再起動する。その後、ハイパーバイザ210A及びハイパーバイザ210Bは、それぞれゲストOS230A及びゲストOS230Bを再起動する。さらに、ハイパーバイザ210A及びハイパーバイザ210Bは、それぞれアプリケーション240A及びアプリケーション240Bを起動する。そして、処理はS110の処理に戻る。   When the user selects option # 4 “restart both hypervisors because both results are incorrect” (YES in step S148), the return control unit 150 restarts the hypervisor 210A and the hypervisor 210B. Is instructed to do so (step S149). Thereby, the hypervisor 210A and the hypervisor 210B restart themselves. Thereafter, the hypervisor 210A and the hypervisor 210B restart the guest OS 230A and the guest OS 230B, respectively. Furthermore, the hypervisor 210A and the hypervisor 210B activate the application 240A and the application 240B, respectively. Then, the process returns to S110.

ユーザによって選択肢#5「いずれかの結果が正しいとして復帰処理を行う」が選択された場合(ステップS150のYES)、復帰制御部150は、ユーザに対して本番系の選択を提示する(ステップS152)。具体的には、本番系選択部152は、入出力部106を用いて、ユーザに対して、アプリケーション240A及びアプリケーション240Bのいずれを本番系とするかの選択画面を提示する。ユーザは、画面表示内容82A及び画面表示内容82Bを視認して、正しい方の画面表示内容に対応するアプリケーション240を選択することができる。例えば、選択肢表示画面80において画面表示内容82A及び画面表示内容82Bを点滅させることで、いずれかを選択するように促すことができる。このように、ユーザに画面表示内容82A及び画面表示内容82Bを提示することで、ユーザは、どちらが正常か(又はどちらも正常でないか)を、容易に判断することができる。   When the user selects option # 5 “Perform return processing with any result correct” (YES in step S150), the return control unit 150 presents the selection of the production system to the user (step S152). ). Specifically, the production system selection unit 152 uses the input / output unit 106 to present to the user a selection screen for selecting which of the application 240A and the application 240B is the production system. The user can visually recognize the screen display content 82A and the screen display content 82B and select the application 240 corresponding to the correct screen display content. For example, by blinking the screen display content 82A and the screen display content 82B on the option display screen 80, it can be prompted to select one. Thus, by presenting the screen display content 82A and the screen display content 82B to the user, the user can easily determine which is normal (or neither is normal).

そして、本番系選択部152は、ユーザによって選択されたアプリケーション240を、本番系のアプリケーション240と設定する(ステップS154)。これにより、ユーザが正常であると判断したアプリケーション240を動作しているコンピュータ(情報処理装置200又は仮想マシン220)を、適切に本番系と設定することができる。一方、本番系選択部152は、ユーザによって選択されなかった方のアプリケーション240を終了するように、そのアプリケーション240が実行されるハイパーバイザ210に指示する(ステップS156)。この指示に応じて、ハイパーバイザ210は、アプリケーション240を終了する。これにより、異常であるアプリケーション240を適切に終了することができる。そして、本番系選択部152は、選択されなかったアプリケーション240が動作するゲストOS230を、新たな待機系と設定する。   Then, the production system selection unit 152 sets the application 240 selected by the user as the production system application 240 (step S154). Thereby, the computer (the information processing apparatus 200 or the virtual machine 220) running the application 240 that the user determines to be normal can be appropriately set as the production system. On the other hand, the production system selection unit 152 instructs the hypervisor 210 that executes the application 240 to end the application 240 that has not been selected by the user (step S156). In response to this instruction, the hypervisor 210 terminates the application 240. Thereby, the abnormal application 240 can be appropriately terminated. Then, the production system selection unit 152 sets the guest OS 230 on which the unselected application 240 operates as a new standby system.

復帰制御部150の環境複製部154は、ユーザに対して、設定された本番系のアプリケーション240で作業ファイルを保存するように指示する(ステップS158)。例えば、環境複製部154は、入出力部106を用いて、本番系のアプリケーション240で作業ファイルを保存することを促すような画面(ポップアップ画面等)を表示させてもよい。この指示に応じてユーザが作業ファイルを保存すると、環境複製部154は、本番系のアプリケーション240を終了するように、ハイパーバイザ210に対して指示する。この指示に応じて、ハイパーバイザ210は、本番系のアプリケーション240を終了する。   The environment copying unit 154 of the return control unit 150 instructs the user to save the work file with the set production application 240 (step S158). For example, the environment copying unit 154 may display a screen (a pop-up screen or the like) that prompts the production application 240 to save the work file using the input / output unit 106. When the user saves the work file in response to this instruction, the environment duplicating unit 154 instructs the hypervisor 210 to terminate the production application 240. In response to this instruction, the hypervisor 210 terminates the production application 240.

そして、環境複製部154は、新たに設定された待機系のゲストOS230へ、新たに設定された本番系のアプリケーション240の実行環境を複製する(ステップS160)。このように、待機系のシステムに正常である本番系のアプリケーション240を複製することで、保護対象のアプリケーション240を冗長化することができる。したがって、保護対象のアプリケーション240を適切に保護することができる。   Then, the environment duplicating unit 154 duplicates the newly set execution environment of the production application 240 to the newly set standby guest OS 230 (step S160). In this way, by copying the normal production application 240 to the standby system, the protection target application 240 can be made redundant. Therefore, the application 240 to be protected can be appropriately protected.

なお、本実施の形態における多重化システム50は、仮想マシン220によって構成されているので、上述したように、アプリケーション240の実行環境はカプセル化され得る。したがって、環境複製部154は、容易に本番系のアプリケーション240の実行環境を複製することができる。言い換えると、コンピュータが仮想マシン220で実現されることで、本番系と待機系とで、容易に同じ環境にすることが可能となる。   Note that, since the multiplexing system 50 in the present embodiment is configured by the virtual machine 220, the execution environment of the application 240 can be encapsulated as described above. Therefore, the environment copying unit 154 can easily copy the execution environment of the production application 240. In other words, when the computer is realized by the virtual machine 220, it is possible to easily make the same environment in the production system and the standby system.

そして、復帰制御部150は、ハイパーバイザ210に対して、本番系のアプリケーション240及び待機系のアプリケーション240の起動を指示する(ステップS162)。この指示に応じて、本番系のアプリケーション240を実行するハイパーバイザ210は、本番系のアプリケーション240を起動する。また、待機系のゲストOS230を実行するハイパーバイザ210は、待機系のアプリケーション240を起動する。そして、処理は、S110の処理に戻る。   Then, the return control unit 150 instructs the hypervisor 210 to start the production application 240 and the standby application 240 (step S162). In response to this instruction, the hypervisor 210 that executes the production application 240 activates the production application 240. In addition, the hypervisor 210 that executes the standby guest OS 230 activates the standby application 240. Then, the process returns to S110.

例えば、S152の処理に応じてユーザがアプリケーション240Bを本番系と選択した場合の例について説明する。このとき、ハイパーバイザ210Aは、選択されなかったアプリケーション240Aを終了する。そして、ゲストOS230Aが新たな待機系と設定される。また、ユーザが、新たに本番系と設定されたアプリケーション240Bで作業ファイルを保存した後、ハイパーバイザ210Bは、アプリケーション240Bを終了する。そして、環境複製部154は、新たに設定された待機系のゲストOS230Aへ、新たに設定された本番系のアプリケーション240Bの実行環境を複製する。その後、ハイパーバイザ210Bは、新たに設定された本番系のアプリケーション240Bを起動する。また、ハイパーバイザ210Aは、新たに設定された待機系のアプリケーション240Aを起動する。   For example, an example in which the user selects the application 240B as the production system according to the processing of S152 will be described. At this time, the hypervisor 210A terminates the application 240A that has not been selected. Then, the guest OS 230A is set as a new standby system. Further, after the user saves the work file with the application 240B newly set as the production system, the hypervisor 210B ends the application 240B. Then, the environment duplicating unit 154 duplicates the newly set execution environment of the production application 240B to the newly set standby guest OS 230A. Thereafter, the hypervisor 210B activates the newly set production application 240B. In addition, the hypervisor 210A activates the newly set standby application 240A.

このように、本実施の形態にかかる多重化システム50は、複数のコンピュータで実行されているアプリケーション240にかかる画面表示内容が互いに一致しないという異常が発生した場合に、ユーザに対して、アプリケーション240の復帰処理の選択肢を提示するように構成されている。これにより、本実施の形態にかかる多重化システム50は、ユーザの選択に応じたアプリケーション240の復帰動作を行うことができる。したがって、本実施の形態にかかる多重化システム50は、アプリケーションについて異常が発生した場合であっても、ユーザの選択に応じて適切にアプリケーションの復帰動作を行うことが可能となる。   As described above, the multiplexing system 50 according to the present embodiment provides the user with the application 240 when an abnormality occurs in which the screen display contents of the applications 240 executed on a plurality of computers do not match each other. It is configured to present options for return processing. Thereby, the multiplexing system 50 according to the present embodiment can perform the return operation of the application 240 according to the user's selection. Therefore, the multiplexing system 50 according to the present embodiment can appropriately perform the return operation of the application according to the user's selection even when an abnormality occurs in the application.

また、上述したフォールトトレラント技術では、本番系の計算システムと待機系の計算システムとの間で、アプリケーションの処理に関して厳密に同期を行う必要がある。しかしながら、厳密に同期を行うようにするために、複雑な処理又は構成が必要となるおそれがある。したがって、上述したフォールトトレラント技術では、アプリケーションの異常が発生した場合に容易にアプリケーションの復帰動作を行うことができないおそれがある。   In the fault-tolerant technique described above, it is necessary to strictly synchronize application processing between the production system and the standby system. However, complicated processing or configuration may be required to perform exact synchronization. Therefore, with the fault-tolerant technology described above, there is a possibility that the application return operation cannot be easily performed when an application abnormality occurs.

一方、本実施の形態にかかる多重化システム50は、ユーザが画面表示内容の比較を行うことができればよいのであるから、アプリケーションの処理に関して厳密に同期を行う必要はない。したがって、本実施の形態にかかる多重化システム50は、上述したフォールトトレラント技術と比較して、アプリケーションの異常が発生した場合に容易にアプリケーションの復帰動作を行うことが可能となる。   On the other hand, in the multiplexing system 50 according to the present embodiment, it is only necessary for the user to be able to compare the contents displayed on the screen. Therefore, the multiplexing system 50 according to the present embodiment can easily perform an application return operation when an application abnormality occurs, as compared with the fault-tolerant technique described above.

なお、ユーザによる入力に対し、アプリケーション240が正常に動作していても、アプリケーション240の仕様によっては、一方のアプリケーション240(情報処理装置200)における画面表示の遅延が生じる場合があり得る。具体的には、アプリケーション240におけるディスクI/Oによる遅延、又は、アプリケーション240のCPUバウンドの処理による遅延等が生じる場合がある。このような遅延に対処するために、以下の処理が行われてもよい。   Note that even if the application 240 is operating normally in response to an input by the user, a screen display delay in one application 240 (information processing apparatus 200) may occur depending on the specifications of the application 240. Specifically, a delay due to disk I / O in the application 240 or a delay due to CPU bound processing of the application 240 may occur. In order to deal with such a delay, the following processing may be performed.

仮想基盤クライアント110は、アプリケーション240に関するCPU使用率がユーザによって設定された閾値を超えている場合に、アプリケーション240によるCPUバウンドの状態と判断する。そして、仮想基盤クライアント110は、このCPUバウンドの時間がユーザによって設定された時間を超えていない間は、正常にアプリケーション240の処理が行われているとして、画面表示内容の比較処理を行わないようにしてもよい。また、仮想基盤クライアント110は、本番系及び待機系のアプリケーション240のいずれについても、CPUバウンドの時間が設定された時間を超えた場合に、画面表示内容の比較処理を行うようにしてもよい。   The virtual infrastructure client 110 determines that the application 240 is in a CPU bound state when the CPU usage rate related to the application 240 exceeds a threshold set by the user. Then, the virtual infrastructure client 110 does not perform the comparison processing of the screen display content, assuming that the processing of the application 240 is normally performed while the CPU bound time does not exceed the time set by the user. It may be. Further, the virtual infrastructure client 110 may compare the screen display contents when the CPU bound time exceeds the set time for both the production system and the standby system application 240.

また、アプリケーション240においてファイルの読み書きの処理が行われている間は、仮想基盤クライアント110は、画面表示内容の比較処理を行わないようにしてもよい。具体的には、ハイパーバイザ210は、ファイル読み書きでOS(ゲストOS230)が呼び出された時点からファイルの読み書きが完了するまでの間、仮想基盤クライアント110に対し、画面表示内容の比較処理を行わないように通知してもよい。そして、ハイパーバイザ210は、ファイルの読み書きが完了したときに、仮想基盤クライアント110に通知を行ってもよい。そして、仮想基盤クライアント110は、本番系及び待機系の両方のアプリケーション240においてファイルの読み書きが完了したときに、画面表示内容の比較処理を行ってもよい。なお、ファイルの読み書きの処理がシステムエラーに起因して完了しないことも考慮して、待機時間の閾値を設定してもよい。   Further, the virtual infrastructure client 110 may not perform the screen display content comparison process while the application 240 performs the file read / write process. Specifically, the hypervisor 210 does not perform screen display content comparison processing for the virtual infrastructure client 110 from when the OS (guest OS 230) is called for file read / write until the file read / write is completed. You may notify as follows. Then, the hypervisor 210 may notify the virtual infrastructure client 110 when the reading / writing of the file is completed. Then, the virtual infrastructure client 110 may perform screen display content comparison processing when the reading and writing of the file are completed in both the production system and standby system applications 240. In consideration of the fact that file read / write processing is not completed due to a system error, a waiting time threshold may be set.

(実施の形態2)
次に、実施の形態2について説明する。実施の形態2は、1つの情報処理装置200で複数のアプリケーション240が実行され得る点で、実施の形態1と異なる。なお、これ以外の点では、実施の形態2は、実施の形態1と実質的に同様である。実施の形態1にかかる構成要素の同様の構成要素の構造及び機能については、適宜、説明を省略する。
(Embodiment 2)
Next, a second embodiment will be described. The second embodiment is different from the first embodiment in that a plurality of applications 240 can be executed by one information processing apparatus 200. In other respects, the second embodiment is substantially the same as the first embodiment. The description of the structure and function of similar constituent elements of the constituent elements according to the first embodiment will be omitted as appropriate.

図8は、実施の形態2にかかる多重化システム50を示す図である。多重化システム50は、制御装置100と、1つの情報処理装置200とを有する。実施の形態2にかかる多重化システム50は、実施の形態1にかかる多重化システム50と異なり、共有ディスク装置を有さない。制御装置100及び情報処理装置200は、互いに、ネットワーク70を介して接続されている。   FIG. 8 is a diagram illustrating a multiplexing system 50 according to the second embodiment. The multiplexing system 50 includes a control device 100 and one information processing device 200. Unlike the multiplexing system 50 according to the first embodiment, the multiplexing system 50 according to the second embodiment does not have a shared disk device. The control device 100 and the information processing device 200 are connected to each other via the network 70.

情報処理装置200は、ハードウェア202と、1つのハイパーバイザ210を有する。ハイパーバイザ210は、1つのハードウェア202上で、複数の仮想マシン220を実行するための処理を行う。そして、それらの実行される複数の仮想マシン220の1つが本番系の仮想マシン(コンピュータ)として動作し、他の仮想マシン220が待機系の仮想マシン(コンピュータ)として動作する。   The information processing apparatus 200 includes hardware 202 and one hypervisor 210. The hypervisor 210 performs processing for executing a plurality of virtual machines 220 on one piece of hardware 202. One of the executed virtual machines 220 operates as a real virtual machine (computer), and the other virtual machine 220 operates as a standby virtual machine (computer).

図8に示した例では、ハイパーバイザ210において仮想マシン220Aが実行されている。仮想マシン220Aには、ゲストOS230Aがインストールされている。ゲストOS230Aには、アプリケーション240Aがインストールされている。ゲストOS230Aには、VMツール250Aがインストールされている。なお、仮想マシン220A、ゲストOS230A及びアプリケーション240Aを構成するためのデータは、ハードウェア202のディスク装置に格納されている。なお、実施の形態2にかかるハイパーバイザ210は、生成されたテンプレート62を、自身に格納する。   In the example illustrated in FIG. 8, the virtual machine 220 </ b> A is executed in the hypervisor 210. A guest OS 230A is installed in the virtual machine 220A. An application 240A is installed in the guest OS 230A. A VM tool 250A is installed in the guest OS 230A. Data for configuring the virtual machine 220A, the guest OS 230A, and the application 240A is stored in a disk device of the hardware 202. The hypervisor 210 according to the second embodiment stores the generated template 62 in itself.

制御装置100は、仮想基盤クライアント110の機能によって、ハイパーバイザ210に対して管理のための指示を送信する。制御装置100は、図3に示した実施の形態1にかかる制御装置100と実質的に同様の構成要素を有し得る。なお、実施の形態2においては、情報処理装置200及びハイパーバイザ210は、1つである。したがって、実施の形態2にかかる仮想基盤クライアント110は、情報処理装置200及びハイパーバイザ210を、本番系と待機系とで区別しない。つまり、実施の形態2にかかる仮想基盤クライアント110は、ハイパーバイザ210を本番系又は待機系と設定しない。   The control device 100 transmits an instruction for management to the hypervisor 210 by the function of the virtual infrastructure client 110. The control device 100 may have substantially the same components as the control device 100 according to the first embodiment shown in FIG. In the second embodiment, there is one information processing apparatus 200 and one hypervisor 210. Therefore, the virtual infrastructure client 110 according to the second embodiment does not distinguish the information processing apparatus 200 and the hypervisor 210 between the production system and the standby system. That is, the virtual infrastructure client 110 according to the second embodiment does not set the hypervisor 210 as a production system or a standby system.

図9及び図10は、実施の形態2にかかる多重化システム50によって行われる多重化方法を示すフローチャートである。また、図4及び図5に示したフローチャートと同様に、図9及び図10では、アプリケーション240A(APP_A)を保護対象とする。   FIGS. 9 and 10 are flowcharts illustrating a multiplexing method performed by the multiplexing system 50 according to the second embodiment. Similarly to the flowcharts shown in FIGS. 4 and 5, in FIGS. 9 and 10, the application 240A (APP_A) is a protection target.

S102の処理と同様に、仮想基盤クライアント110の多重化制御部112の処理により、アプリケーション240Aが動作するゲストOS230Aに、VMツール250がインストールされる(ステップS202)。次に、S104の処理と同様に、仮想基盤クライアント110は、本番系の設定を行う(ステップS204)。具体的には、本番系設定部114は、保護対象であるアプリケーション240Aを、本番系のアプリケーション240と設定する。また、本番系設定部114は、保護対象のアプリケーション240Aが動作するゲストOS230A及び仮想マシン220Aを、それぞれ、本番系のゲストOS230及び仮想マシン220と設定する。なお、上述したように、本番系設定部114は、保護対象のアプリケーション240Aを実行するハイパーバイザ210を本番系とは設定しない。また、この時点では、本番系設定部114は、待機系の設定を行う必要はない。   Similar to the processing of S102, the VM tool 250 is installed in the guest OS 230A in which the application 240A runs by the processing of the multiplexing control unit 112 of the virtual infrastructure client 110 (step S202). Next, as in the process of S104, the virtual infrastructure client 110 sets the production system (step S204). Specifically, the production system setting unit 114 sets the application 240A to be protected as the production application 240. Further, the production system setting unit 114 configures the guest OS 230A and the virtual machine 220A in which the protection target application 240A operates as the production system guest OS 230 and the virtual machine 220, respectively. As described above, the production system setting unit 114 does not set the hypervisor 210 that executes the protected application 240A as the production system. At this time, the production system setting unit 114 does not need to set the standby system.

S106の処理と同様に、多重化システム50は、多重化処理を行う(ステップS206)。図11は、実施の形態2にかかる、多重化処理がなされた多重化システム50を示す図である。仮想基盤クライアント110の多重化処理部116は、ハイパーバイザ210に対して、テンプレート62を生成するように指示する。ハイパーバイザ210は、この指示に応じて、ゲストOS230Aをシャットダウンして、仮想マシン220Aからテンプレート62を生成する。ハイパーバイザ210は、生成されたテンプレート62を、自身に格納する。   Similar to the process of S106, the multiplexing system 50 performs the multiplexing process (step S206). FIG. 11 is a diagram illustrating a multiplexing system 50 subjected to multiplexing processing according to the second embodiment. The multiplexing processing unit 116 of the virtual infrastructure client 110 instructs the hypervisor 210 to generate the template 62. In response to this instruction, the hypervisor 210 shuts down the guest OS 230A and generates the template 62 from the virtual machine 220A. The hypervisor 210 stores the generated template 62 in itself.

多重化処理部116は、ハイパーバイザ210に対して、仮想マシン220Aに対応するテンプレート62の展開を指示する。ハイパーバイザ210は、この指示に応じて、テンプレート62から仮想マシン220Aの複製である仮想マシン220Bを生成する。また、ハイパーバイザ210は、ゲストOS230Aの複製であるゲストOS230Bを生成する。また、ハイパーバイザ210は、アプリケーション240Aの複製であるアプリケーション240Bを生成する。また、ハイパーバイザ210は、VMツール250Aの複製であるVMツール250Bを生成する。そして、多重化制御部112(本番系設定部114)は、仮想マシン220Bを待機系の仮想マシン220と設定し、ゲストOS230Bを待機系のゲストOS230と設定し、アプリケーション240Bを待機系のアプリケーション240と設定する。このようにして、図11に示すように、待機系のシステムが生成される。   The multiplexing processing unit 116 instructs the hypervisor 210 to deploy the template 62 corresponding to the virtual machine 220A. In response to this instruction, the hypervisor 210 generates a virtual machine 220B that is a copy of the virtual machine 220A from the template 62. Further, the hypervisor 210 generates a guest OS 230B that is a copy of the guest OS 230A. Further, the hypervisor 210 generates an application 240B that is a copy of the application 240A. Further, the hypervisor 210 generates a VM tool 250B that is a copy of the VM tool 250A. Then, the multiplexing control unit 112 (production system setting unit 114) sets the virtual machine 220B as the standby virtual machine 220, sets the guest OS 230B as the standby guest OS 230, and sets the application 240B as the standby application 240. And set. In this way, a standby system is generated as shown in FIG.

次に、S108の処理と同様に、多重化システム50は、アプリケーション240の起動処理を行う(ステップS208)。具体的には、仮想基盤クライアント110の多重化制御部112は、ハイパーバイザ210に対して、アプリケーション240A及びアプリケーション240Bを起動するように指示する。ハイパーバイザ210は、この指示に応じて、仮想マシン220A及び仮想マシン220Bを起動する。仮想マシン220A及び仮想マシン220Bは、それぞれ、ゲストOS230A及びゲストOS230Bを起動する。   Next, as in the process of S108, the multiplexing system 50 performs the activation process of the application 240 (step S208). Specifically, the multiplexing control unit 112 of the virtual infrastructure client 110 instructs the hypervisor 210 to start the application 240A and the application 240B. The hypervisor 210 activates the virtual machine 220A and the virtual machine 220B in response to this instruction. The virtual machine 220A and the virtual machine 220B start the guest OS 230A and the guest OS 230B, respectively.

ハイパーバイザ210は、VMツール250AからゲストOS230Aの起動が完了したことを示す通知を受け付けた後、VMツール250Aを介して、アプリケーション240Aを起動する。同様に、ハイパーバイザ210は、VMツール250BからゲストOS230Bの起動が完了したことを示す通知を受け付けた後、VMツール250Bを介して、アプリケーション240Bを起動する。   The hypervisor 210 receives a notification indicating that the activation of the guest OS 230A is completed from the VM tool 250A, and then activates the application 240A via the VM tool 250A. Similarly, after receiving a notification indicating that the activation of the guest OS 230B is completed from the VM tool 250B, the hypervisor 210 activates the application 240B via the VM tool 250B.

ユーザからアプリケーション240Aに対して入力があった場合(ステップS210のYES)、入力送信部120は、入力内容を、ハイパーバイザ210に対して送信する(ステップS212)。ハイパーバイザ210は、送信された入力内容を受信すると、入力内容を、アプリケーション240A及びアプリケーション240Bに入力し反映する。これにより、アプリケーション240A及びアプリケーション240Bは、システムに異常が発生していなければ、入力内容に応じた動作を行い得る。   When there is an input from the user to the application 240A (YES in step S210), the input transmission unit 120 transmits the input content to the hypervisor 210 (step S212). When receiving the transmitted input content, the hypervisor 210 inputs and reflects the input content in the application 240A and the application 240B. Accordingly, the application 240A and the application 240B can perform an operation according to the input content if no abnormality occurs in the system.

次に、S120〜S132の処理と同様に、画面比較部130は、画面表示内容の比較処理を行う(ステップS220〜ステップS232)。そして、アプリケーション240Aとアプリケーション240Bとで画面表示内容が一致しない場合(S230のNO及びS232のNO)に、S140の処理と同様に、選択肢提示部140は、選択肢提示処理を行う(ステップS240)。さらに、S142〜S162の処理と同様に、ユーザの選択に応じて、復帰制御部150は、復帰処理を行う(ステップS242〜ステップS262)。S242〜S262の処理は、それぞれ、S142〜S162の処理と実質的に同様であるので、説明を省略する。   Next, similarly to the processing of S120 to S132, the screen comparison unit 130 performs a screen display content comparison process (steps S220 to S232). When the screen display contents of the application 240A and the application 240B do not match (NO in S230 and NO in S232), the option presenting unit 140 performs the option presenting process (step S240) as in the process of S140. Further, similarly to the processes of S142 to S162, the return control unit 150 performs the return process according to the user's selection (steps S242 to S262). Since the processes of S242 to S262 are substantially the same as the processes of S142 to S162, description thereof will be omitted.

なお、実施の形態2にかかる復帰処理においては、復帰制御部150は、1つのハイパーバイザ210に対して指示を行う。そして、ハイパーバイザ210は、アプリケーション240A及びアプリケーション240Bの再起動を行い(S245)、ゲストOS230A及びゲストOS230Bの再起動を行い(S247)、自身の再起動を行う(S249)。   In the restoration process according to the second embodiment, the restoration control unit 150 instructs one hypervisor 210. Then, the hypervisor 210 restarts the application 240A and the application 240B (S245), restarts the guest OS 230A and the guest OS 230B (S247), and restarts itself (S249).

また、S256の処理において、本番系選択部152は、ユーザによって選択されなかった方のアプリケーション240を終了するように、1つのハイパーバイザ210に指示する。この指示に応じて、ハイパーバイザ210は、ユーザによって選択されなかった方のアプリケーション240を終了する。そして、本番系選択部152は、選択されなかったアプリケーション240が動作するゲストOS230を、新たな待機系と設定する。   In the process of S256, the production system selection unit 152 instructs one hypervisor 210 to end the application 240 that has not been selected by the user. In response to this instruction, the hypervisor 210 terminates the application 240 that has not been selected by the user. Then, the production system selection unit 152 sets the guest OS 230 on which the unselected application 240 operates as a new standby system.

また、S262の処理において、復帰制御部150は、1つのハイパーバイザ210に対して、本番系のアプリケーション240及び待機系のアプリケーション240の起動を指示する。この指示に応じて、ハイパーバイザ210は、本番系のゲストOS230上で本番系のアプリケーション240を起動する。また、ハイパーバイザ210は、待機系のゲストOS230上で待機系のアプリケーション240を起動する。   In the process of S262, the return control unit 150 instructs one hypervisor 210 to start the production application 240 and the standby application 240. In response to this instruction, the hypervisor 210 activates the production application 240 on the production guest OS 230. Further, the hypervisor 210 activates the standby application 240 on the standby guest OS 230.

上述したように、実施の形態2にかかる多重化システム50においても、複数のコンピュータ(仮想マシン220)で実行されているアプリケーション240にかかる画面表示内容が互いに一致しないという異常が発生した場合に、ユーザに対して、アプリケーション240の復帰処理の選択肢を提示するように構成されている。したがって、実施の形態2にかかる多重化システム50においても、アプリケーションについて異常が発生した場合であっても、ユーザの選択に応じて適切にアプリケーションの復帰動作を行うことが可能となる。また、実施の形態2にかかる多重化システム50においても、ユーザが画面表示内容の比較を行うことができればよいので、アプリケーションの処理に関して厳密に同期を行う必要はない。したがって、実施の形態2にかかる多重化システム50においても、上述したフォールトトレラント技術と比較して、アプリケーションの異常が発生した場合に容易にアプリケーションの復帰動作を行うことが可能となる。   As described above, even in the multiplexing system 50 according to the second embodiment, when an abnormality occurs in which the screen display contents of the applications 240 executed by the plurality of computers (virtual machines 220) do not match each other, It is configured to present the user with a return processing option of the application 240. Therefore, even in the multiplexing system 50 according to the second embodiment, even when an abnormality occurs in the application, it is possible to appropriately perform the application return operation according to the user's selection. Also in the multiplexing system 50 according to the second embodiment, it is only necessary for the user to be able to compare the screen display contents, and therefore it is not necessary to strictly synchronize the application processing. Therefore, also in the multiplexing system 50 according to the second embodiment, it is possible to easily perform a return operation of an application when an application abnormality occurs, as compared with the fault tolerant technique described above.

このように、実施の形態2にかかる多重化システム50のように、ハードウェア202が複数ない場合であっても、実施の形態1にかかる多重化システム50と実質的に同様の効果を奏し得る。一方、実施の形態1にかかる多重化システム50は、ハードウェア202を複数有している。言い換えると、複数のコンピュータが互いに別のハードウェア202に実装されている。したがって、実施の形態1にかかる多重化システム50は、ハードウェア202の障害に起因するアプリケーション240の異常が発生した場合であっても、適切に対処することができる。これに対し、実施の形態2にかかる多重化システム50では、1つのハードウェア202に複数のコンピュータ(仮想マシン220)が実装されている。したがって、実施の形態1とは異なり、実施の形態2にかかる多重化システム50は、ハードウェア202の障害に起因するアプリケーション240の異常が発生した場合に、適切に対処することが困難である。   As described above, even when there is not a plurality of hardware 202 like the multiplexing system 50 according to the second embodiment, substantially the same effect as the multiplexing system 50 according to the first embodiment can be obtained. . On the other hand, the multiplexing system 50 according to the first embodiment includes a plurality of hardware 202. In other words, a plurality of computers are mounted on different hardware 202. Therefore, the multiplexing system 50 according to the first embodiment can appropriately cope with even when an abnormality of the application 240 occurs due to the failure of the hardware 202. On the other hand, in the multiplexing system 50 according to the second embodiment, a plurality of computers (virtual machines 220) are mounted on one hardware 202. Therefore, unlike the first embodiment, the multiplexing system 50 according to the second embodiment is difficult to appropriately deal with when an abnormality occurs in the application 240 due to the failure of the hardware 202.

(変形例)
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上述したフローチャートにおいて、各処理(ステップ)の順序は、適宜、変更可能である。また、複数ある処理(ステップ)のうちの1つ以上は、省略されてもよい。また、S132にかかる再比較処理は、必ずしも必要でない。この場合、N=1と設定される。
(Modification)
Note that the present invention is not limited to the above-described embodiment, and can be changed as appropriate without departing from the spirit of the present invention. For example, in the flowcharts described above, the order of each process (step) can be changed as appropriate. One or more of the plurality of processes (steps) may be omitted. Further, the re-comparison process in S132 is not always necessary. In this case, N = 1 is set.

また、上述した実施の形態では、仮想マシン220によってアプリケーション240が実行されるとしたが、このような構成に限られない。ハードウェア202(ホストOS)が、直接、アプリケーション240を実行するようにしてもよい。一方、上述したように、仮想マシン220によってアプリケーション240が実行されることによって、アプリケーション240の実行環境の複製を、容易に行うことが可能となる。   In the above-described embodiment, the application 240 is executed by the virtual machine 220. However, the configuration is not limited thereto. The hardware 202 (host OS) may directly execute the application 240. On the other hand, as described above, when the application 240 is executed by the virtual machine 220, the execution environment of the application 240 can be easily duplicated.

また、上述した実施の形態にかかる多重化システム50は、アプリケーション240を実行する2つのコンピュータを有するとしたが、このような構成に限られない。アプリケーション240を実行するコンピュータの数は任意である。一方、コンピュータの数が3つ以上である場合、上述したフォールトトレラント技術では、アプリケーションの応答が異なる場合に、多数決によって異常となるシステムを判定することができる。しかしながら、コンピュータの数が2つである場合、上述したフォールトトレラント技術では、多数決を行うことができないので、異常となるシステムを判定することが困難である。しかしながら、本実施の形態にかかる多重化システム50では、多数決を行うことなく、異常となるシステムを判定できるので、コンピュータの数が2つであっても、適切に、異常となるシステムを判定することが可能となる。つまり、本実施の形態にかかる多重化システム50は、コンピュータの数が2つである場合に、特に有効である。   Moreover, although the multiplexing system 50 according to the above-described embodiment includes the two computers that execute the application 240, the configuration is not limited thereto. The number of computers that execute the application 240 is arbitrary. On the other hand, when the number of computers is three or more, the fault-tolerant technology described above can determine an abnormal system by majority vote when application responses are different. However, when the number of computers is two, the above-mentioned fault-tolerant technique cannot make a majority decision, so it is difficult to determine an abnormal system. However, in the multiplexing system 50 according to the present embodiment, an abnormal system can be determined without making a majority decision. Therefore, even when the number of computers is two, an abnormal system is appropriately determined. It becomes possible. That is, the multiplexing system 50 according to the present embodiment is particularly effective when the number of computers is two.

また、上述した実施の形態では、復帰処理の際に、新たに待機系と設定されるゲストOS230は、ユーザに選択されなかった方のアプリケーション240が動作するゲストOS230としたが、このような構成に限られない。ユーザに選択されなかった方のアプリケーション240が動作するゲストOS230及び新たな本番系のゲストOS230とは別のゲストOSを、新たな待機系として設定してもよい。例えば、仮想マシン220のテンプレート(テンプレート62)から新たな仮想マシン220を展開及び起動して、そのゲストOSを、新たな待機系として設定してもよい。あるいは、復帰処理を迅速化するため、新たな待機系と設定され得るゲストOSを、ゲストOS230A,230Bとは別に予め起動しておいてもよい。   In the above-described embodiment, the guest OS 230 that is newly set as the standby system in the return process is the guest OS 230 on which the application 240 not selected by the user operates. Not limited to. A guest OS 230 that runs the application 240 that is not selected by the user and a guest OS that is different from the new production guest OS 230 may be set as a new standby system. For example, a new virtual machine 220 may be expanded and activated from the template (template 62) of the virtual machine 220, and the guest OS may be set as a new standby system. Alternatively, a guest OS that can be set as a new standby system may be activated in advance separately from the guest OSs 230A and 230B in order to speed up the restoration process.

また、上述した実施の形態1の説明では、2つのハードウェア202A,202Bの両方が故障する場合については言及していないが、本実施の形態は、2つのハードウェア202A,202Bの両方が故障する場合についても適用可能である。このような場合に備えて、3台以上のハードウェア202が実装されていてもよく、それらのハードウェア202に、新たな待機系となり得るゲストOS230を予め実装しておいてもよい。   In the description of the first embodiment described above, the case where both of the two hardware 202A and 202B fail is not mentioned, but in the present embodiment, both of the two hardware 202A and 202B fail. It is also applicable to cases where In preparation for such a case, three or more pieces of hardware 202 may be mounted, and a guest OS 230 that can be a new standby system may be mounted in advance on these hardware 202.

上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。   In the above example, the program can be stored and supplied to a computer using various types of non-transitory computer readable media. Non-transitory computer readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media (for example, flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (for example, magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / W, semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (Random Access Memory)) are included. The program may also be supplied to the computer by various types of transitory computer readable media. Examples of transitory computer readable media include electrical signals, optical signals, and electromagnetic waves. The temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.

上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
本番系又は待機系としてそれぞれ動作する複数のコンピュータで同一のアプリケーションを実行させるように制御する多重化制御手段と、
前記複数のコンピュータのそれぞれで実行されている前記アプリケーションへの入力に対して出力される画面表示内容が互いに一致しているか否かを比較する比較手段と、
前記画面表示内容が一致していない場合に、前記アプリケーションのユーザに対して、前記アプリケーションの復帰処理の選択肢を提示する提示手段と、
前記選択肢の提示に応じてユーザによってなされた選択に基づいて、前記アプリケーションの復帰を制御する復帰制御手段と
を有する制御装置。
(付記2)
前記提示手段は、前記複数のコンピュータそれぞれに関する前記画面表示内容をユーザに対して提示する
付記1に記載の制御装置。
(付記3)
前記復帰制御手段は、前記ユーザによってなされた選択に応じて、本番系の前記コンピュータを新たに設定する
付記1又は2に記載の制御装置。
(付記4)
前記復帰制御手段は、前記本番系と設定されなかった前記コンピュータで実行されている前記アプリケーションを終了するように制御する
付記3に記載の制御装置。
(付記5)
前記復帰制御手段は、前記本番系と設定されなかった前記コンピュータを待機系と設定し、前記本番系と設定された前記コンピュータで実行される前記アプリケーションの実行環境を、前記待機系と設定された前記コンピュータに複製する
付記3又は4に記載の制御装置。
(付記6)
前記コンピュータは、仮想マシンによって実現される
付記1から5のいずれか1項に記載の制御装置。
(付記7)
前記複数のコンピュータの数は2つである
付記1から6のいずれか1項に記載の制御装置。
(付記8)
前記複数のコンピュータは互いに別のハードウェアに実装されている
付記1から7のいずれか1項に記載の制御装置。
(付記9)
本番系又は待機系としてそれぞれ動作する複数のコンピュータと、
前記複数のコンピュータを制御する制御装置と
を有し、
前記制御装置は、
前記複数のコンピュータで同一のアプリケーションを実行させるように制御する多重化制御手段と、
前記複数のコンピュータのそれぞれで実行されている前記アプリケーションへの入力に対して出力される画面表示内容が互いに一致しているか否かを比較する比較手段と、
前記画面表示内容が一致していない場合に、前記アプリケーションのユーザに対して、前記アプリケーションの復帰処理の選択肢を提示する提示手段と、
前記選択肢の提示に応じてユーザによってなされた選択に基づいて、前記アプリケーションの復帰を制御する復帰制御手段と
を有する
多重化システム。
(付記10)
前記提示手段は、前記複数のコンピュータそれぞれに関する前記画面表示内容をユーザに対して提示する
付記9に記載の多重化システム。
(付記11)
前記復帰制御手段は、前記ユーザによってなされた選択に応じて、本番系の前記コンピュータを新たに設定する
付記9又は10に記載の多重化システム。
(付記12)
前記復帰制御手段は、前記本番系と設定されなかった前記コンピュータで実行されている前記アプリケーションを終了するように制御する
付記11に記載の多重化システム。
(付記13)
前記復帰制御手段は、前記本番系と設定されなかった前記コンピュータを待機系と設定し、前記本番系と設定された前記コンピュータで実行される前記アプリケーションの実行環境を、前記待機系と設定された前記コンピュータに複製する
付記11又は12に記載の多重化システム。
(付記14)
前記コンピュータは、仮想マシンによって実現される
付記9から13のいずれか1項に記載の多重化システム。
(付記15)
前記複数のコンピュータの数は2つである
付記9から14のいずれか1項に記載の多重化システム。
(付記16)
前記複数のコンピュータは互いに別のハードウェアに実装されている
付記9から15のいずれか1項に記載の多重化システム。
(付記17)
本番系又は待機系としてそれぞれ動作する複数のコンピュータで同一のアプリケーションを実行させるように制御し、
前記複数のコンピュータのそれぞれで実行されている前記アプリケーションへの入力に対して出力される画面表示内容が互いに一致しているか否かを比較し、
前記画面表示内容が一致していない場合に、前記アプリケーションのユーザに対して、前記アプリケーションの復帰処理の選択肢を提示し、
前記選択肢の提示に応じてユーザによってなされた選択に基づいて、前記アプリケーションの復帰を制御する
多重化方法。
(付記18)
前記複数のコンピュータそれぞれに関する前記画面表示内容をユーザに対して提示する
付記17に記載の多重化方法。
(付記19)
前記ユーザによってなされた選択に応じて、本番系の前記コンピュータを新たに設定する
付記17又は18に記載の多重化方法。
(付記20)
前記本番系と設定されなかった前記コンピュータで実行されている前記アプリケーションを終了するように制御する
付記19に記載の多重化方法。
(付記21)
前記本番系と設定されなかった前記コンピュータを待機系と設定し、前記本番系と設定された前記コンピュータで実行される前記アプリケーションの実行環境を、前記待機系と設定された前記コンピュータに複製する
付記19又は20に記載の多重化方法。
(付記22)
本番系又は待機系としてそれぞれ動作する複数のコンピュータで同一のアプリケーションを実行させるように制御するステップと、
前記複数のコンピュータのそれぞれで実行されている前記アプリケーションへの入力に対して出力される画面表示内容が互いに一致しているか否かを比較するステップと、
前記画面表示内容が一致していない場合に、前記アプリケーションのユーザに対して、前記アプリケーションの復帰処理の選択肢を提示するステップと、
前記選択肢の提示に応じてユーザによってなされた選択に基づいて、前記アプリケーションの復帰を制御するステップと
を前記複数のコンピュータとは別のコンピュータに実行させるプログラム。
A part or all of the above-described embodiment can be described as in the following supplementary notes, but is not limited thereto.
(Appendix 1)
Multiplexing control means for controlling a plurality of computers that respectively operate as a production system or a standby system to execute the same application;
A comparing means for comparing whether or not screen display contents output in response to an input to the application executed in each of the plurality of computers match each other;
Presenting means for presenting options for return processing of the application to the user of the application when the screen display contents do not match,
A control device comprising: return control means for controlling return of the application based on a selection made by a user in response to presentation of the option.
(Appendix 2)
The control device according to claim 1, wherein the presenting unit presents the screen display content regarding each of the plurality of computers to a user.
(Appendix 3)
The control device according to claim 1 or 2, wherein the return control unit newly sets the production computer in accordance with a selection made by the user.
(Appendix 4)
The control device according to claim 3, wherein the return control unit controls the application running on the computer that has not been set as the production system to end.
(Appendix 5)
The return control means sets the computer that is not set as the production system as a standby system, and sets the execution environment of the application executed on the computer set as the production system as the standby system. The control device according to appendix 3 or 4, which is copied to the computer.
(Appendix 6)
The control device according to any one of appendices 1 to 5, wherein the computer is realized by a virtual machine.
(Appendix 7)
The control device according to any one of appendices 1 to 6, wherein the number of the plurality of computers is two.
(Appendix 8)
The control device according to any one of appendices 1 to 7, wherein the plurality of computers are mounted on different hardware.
(Appendix 9)
A plurality of computers each operating as a production system or a standby system;
A control device for controlling the plurality of computers,
The control device includes:
Multiplexing control means for controlling the plurality of computers to execute the same application;
A comparing means for comparing whether or not screen display contents output in response to an input to the application executed in each of the plurality of computers match each other;
Presenting means for presenting options for return processing of the application to the user of the application when the screen display contents do not match,
And a return control means for controlling return of the application based on a selection made by a user in response to presentation of the option.
(Appendix 10)
The multiplexing system according to claim 9, wherein the presenting means presents the screen display contents regarding each of the plurality of computers to a user.
(Appendix 11)
The multiplexing system according to appendix 9 or 10, wherein the return control means newly sets the actual computer in accordance with a selection made by the user.
(Appendix 12)
The multiplexing system according to claim 11, wherein the return control means controls to terminate the application being executed on the computer that has not been set as the production system.
(Appendix 13)
The return control means sets the computer that is not set as the production system as a standby system, and sets the execution environment of the application executed on the computer set as the production system as the standby system. The multiplexing system according to appendix 11 or 12, which is replicated in the computer.
(Appendix 14)
The multiplexing system according to any one of appendices 9 to 13, wherein the computer is realized by a virtual machine.
(Appendix 15)
The multiplexing system according to any one of appendices 9 to 14, wherein the number of the plurality of computers is two.
(Appendix 16)
The multiplexing system according to any one of appendices 9 to 15, wherein the plurality of computers are mounted on different hardware.
(Appendix 17)
Control to run the same application on multiple computers that each operate as a production system or standby system,
Comparing whether the screen display contents output for the input to the application being executed in each of the plurality of computers match each other;
If the screen display content does not match, present the application return processing options to the application user,
A multiplexing method for controlling return of the application based on a selection made by a user in response to presentation of the option.
(Appendix 18)
The multiplexing method according to claim 17, wherein the screen display contents relating to each of the plurality of computers are presented to a user.
(Appendix 19)
The multiplexing method according to appendix 17 or 18, wherein the production computer is newly set according to the selection made by the user.
(Appendix 20)
The multiplexing method according to claim 19, wherein control is performed to terminate the application running on the computer that has not been set as the production system.
(Appendix 21)
The computer that is not set as the production system is set as the standby system, and the execution environment of the application executed on the computer set as the production system is copied to the computer that is set as the standby system. The multiplexing method according to 19 or 20.
(Appendix 22)
Controlling to execute the same application on a plurality of computers that respectively operate as a production system or a standby system;
Comparing whether or not screen display contents output in response to an input to the application being executed in each of the plurality of computers match each other;
Presenting the application return processing options to the application user when the screen display contents do not match;
A program for causing a computer other than the plurality of computers to execute the step of controlling return of the application based on a selection made by a user in response to the presentation of the option.

1 多重化システム
2 情報処理装置
4 ネットワーク
10 制御装置
12 多重化制御部
13 画面比較部
14 選択肢提示部
15 復帰制御部
50 多重化システム
60 共有ディスク装置
62 テンプレート
70 ネットワーク
100 制御装置
106 入出力部
110 仮想基盤クライアント
112 多重化制御部
114 本番系設定部
116 多重化処理部
120 入力送信部
130 画面比較部
140 選択肢提示部
150 復帰制御部
152 本番系選択部
154 環境複製部
200 情報処理装置
202 ハードウェア
210 ハイパーバイザ
220 仮想マシン
230 ゲストOS
240 アプリケーション
250 VMツール
DESCRIPTION OF SYMBOLS 1 Multiplexing system 2 Information processing apparatus 4 Network 10 Control apparatus 12 Multiplexing control part 13 Screen comparison part 14 Option presentation part 15 Return control part 50 Multiplexing system 60 Shared disk apparatus 62 Template 70 Network 100 Control apparatus 106 Input / output part 110 Virtual infrastructure client 112 Multiplexing control unit 114 Production system setting unit 116 Multiplexing processing unit 120 Input transmission unit 130 Screen comparison unit 140 Option presentation unit 150 Return control unit 152 Production system selection unit 154 Environment replication unit 200 Information processing device 202 Hardware 210 Hypervisor 220 Virtual machine 230 Guest OS
240 Application 250 VM Tool

Claims (10)

本番系又は待機系としてそれぞれ動作する複数のコンピュータで同一のアプリケーションを実行させるように制御する多重化制御手段と、
前記複数のコンピュータのそれぞれで実行されている前記アプリケーションへの入力に対して出力される画面表示内容が互いに一致しているか否かを比較する比較手段と、
前記画面表示内容が一致していない場合に、前記アプリケーションのユーザに対して、前記アプリケーションの復帰処理の選択肢を提示する提示手段と、
前記選択肢の提示に応じてユーザによってなされた選択に基づいて、前記アプリケーションの復帰を制御する復帰制御手段と
を有する制御装置。
Multiplexing control means for controlling a plurality of computers that respectively operate as a production system or a standby system to execute the same application;
A comparing means for comparing whether or not screen display contents output in response to an input to the application executed in each of the plurality of computers match each other;
Presenting means for presenting options for return processing of the application to the user of the application when the screen display contents do not match,
A control device comprising: return control means for controlling return of the application based on a selection made by a user in response to presentation of the option.
前記提示手段は、前記複数のコンピュータそれぞれに関する前記画面表示内容をユーザに対して提示する
請求項1に記載の制御装置。
The control device according to claim 1, wherein the presenting unit presents the screen display contents regarding each of the plurality of computers to a user.
前記復帰制御手段は、前記ユーザによってなされた選択に応じて、本番系の前記コンピュータを新たに設定する
請求項1又は2に記載の制御装置。
3. The control device according to claim 1, wherein the return control unit newly sets the production computer in accordance with a selection made by the user.
前記復帰制御手段は、前記本番系と設定されなかった前記コンピュータで実行されている前記アプリケーションを終了するように制御する
請求項3に記載の制御装置。
The control device according to claim 3, wherein the return control unit performs control so as to end the application executed on the computer that has not been set as the production system.
前記復帰制御手段は、前記本番系と設定されなかった前記コンピュータを待機系と設定し、前記本番系と設定された前記コンピュータで実行される前記アプリケーションの実行環境を、前記待機系と設定された前記コンピュータに複製する
請求項3又は4に記載の制御装置。
The return control means sets the computer that is not set as the production system as a standby system, and sets the execution environment of the application executed on the computer set as the production system as the standby system. The control device according to claim 3, wherein the control device is copied to the computer.
前記コンピュータは、仮想マシンによって実現される
請求項1から5のいずれか1項に記載の制御装置。
The control device according to claim 1, wherein the computer is realized by a virtual machine.
前記複数のコンピュータの数は2つである
請求項1から6のいずれか1項に記載の制御装置。
The control apparatus according to claim 1, wherein the number of the plurality of computers is two.
本番系又は待機系としてそれぞれ動作する複数のコンピュータと、
前記複数のコンピュータを制御する制御装置と
を有し、
前記制御装置は、
前記複数のコンピュータで同一のアプリケーションを実行させるように制御する多重化制御手段と、
前記複数のコンピュータのそれぞれで実行されている前記アプリケーションへの入力に対して出力される画面表示内容が互いに一致しているか否かを比較する比較手段と、
前記画面表示内容が一致していない場合に、前記アプリケーションのユーザに対して、前記アプリケーションの復帰処理の選択肢を提示する提示手段と、
前記選択肢の提示に応じてユーザによってなされた選択に基づいて、前記アプリケーションの復帰を制御する復帰制御手段と
を有する
多重化システム。
A plurality of computers each operating as a production system or a standby system;
A control device for controlling the plurality of computers,
The control device includes:
Multiplexing control means for controlling the plurality of computers to execute the same application;
A comparing means for comparing whether or not screen display contents output in response to an input to the application executed in each of the plurality of computers match each other;
Presenting means for presenting options for return processing of the application to the user of the application when the screen display contents do not match,
And a return control means for controlling return of the application based on a selection made by a user in response to presentation of the option.
本番系又は待機系としてそれぞれ動作する複数のコンピュータで同一のアプリケーションを実行させるように制御し、
前記複数のコンピュータのそれぞれで実行されている前記アプリケーションへの入力に対して出力される画面表示内容が互いに一致しているか否かを比較し、
前記画面表示内容が一致していない場合に、前記アプリケーションのユーザに対して、前記アプリケーションの復帰処理の選択肢を提示し、
前記選択肢の提示に応じてユーザによってなされた選択に基づいて、前記アプリケーションの復帰を制御する
多重化方法。
Control to run the same application on multiple computers that each operate as a production system or standby system,
Comparing whether the screen display contents output for the input to the application being executed in each of the plurality of computers match each other;
If the screen display content does not match, present the application return processing options to the application user,
A multiplexing method for controlling return of the application based on a selection made by a user in response to presentation of the option.
本番系又は待機系としてそれぞれ動作する複数のコンピュータで同一のアプリケーションを実行させるように制御するステップと、
前記複数のコンピュータのそれぞれで実行されている前記アプリケーションへの入力に対して出力される画面表示内容が互いに一致しているか否かを比較するステップと、
前記画面表示内容が一致していない場合に、前記アプリケーションのユーザに対して、前記アプリケーションの復帰処理の選択肢を提示するステップと、
前記選択肢の提示に応じてユーザによってなされた選択に基づいて、前記アプリケーションの復帰を制御するステップと
を前記複数のコンピュータとは別のコンピュータに実行させるプログラム。
Controlling to execute the same application on a plurality of computers that respectively operate as a production system or a standby system;
Comparing whether or not screen display contents output in response to an input to the application being executed in each of the plurality of computers match each other;
Presenting the application return processing options to the application user when the screen display contents do not match;
A program for causing a computer other than the plurality of computers to execute the step of controlling return of the application based on a selection made by a user in response to the presentation of the option.
JP2017067195A 2017-03-30 2017-03-30 Controls, multiplexing systems, multiplexing methods and programs Active JP6848606B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017067195A JP6848606B2 (en) 2017-03-30 2017-03-30 Controls, multiplexing systems, multiplexing methods and programs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017067195A JP6848606B2 (en) 2017-03-30 2017-03-30 Controls, multiplexing systems, multiplexing methods and programs

Publications (2)

Publication Number Publication Date
JP2018169841A true JP2018169841A (en) 2018-11-01
JP6848606B2 JP6848606B2 (en) 2021-03-24

Family

ID=64020505

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017067195A Active JP6848606B2 (en) 2017-03-30 2017-03-30 Controls, multiplexing systems, multiplexing methods and programs

Country Status (1)

Country Link
JP (1) JP6848606B2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5812062A (en) * 1981-07-15 1983-01-24 Mitsubishi Electric Corp Output device for parallel electronic computer system
US20050050386A1 (en) * 2003-08-29 2005-03-03 Reinhardt Steven K. Hardware recovery in a multi-threaded architecture
JP2012014239A (en) * 2010-06-29 2012-01-19 Hitachi Ltd Fault tolerant calculator system, switch device connected to multiple physical servers and storage device, and server synchronous control method
JP2015172906A (en) * 2014-03-12 2015-10-01 国立大学法人奈良女子大学 network system
US20170078159A1 (en) * 2014-03-10 2017-03-16 Entrix Co., Ltd. Method for testing cloud streaming server, and apparatus and system therefor

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5812062A (en) * 1981-07-15 1983-01-24 Mitsubishi Electric Corp Output device for parallel electronic computer system
US20050050386A1 (en) * 2003-08-29 2005-03-03 Reinhardt Steven K. Hardware recovery in a multi-threaded architecture
JP2012014239A (en) * 2010-06-29 2012-01-19 Hitachi Ltd Fault tolerant calculator system, switch device connected to multiple physical servers and storage device, and server synchronous control method
US20170078159A1 (en) * 2014-03-10 2017-03-16 Entrix Co., Ltd. Method for testing cloud streaming server, and apparatus and system therefor
JP2015172906A (en) * 2014-03-12 2015-10-01 国立大学法人奈良女子大学 network system

Also Published As

Publication number Publication date
JP6848606B2 (en) 2021-03-24

Similar Documents

Publication Publication Date Title
US9489274B2 (en) System and method for performing efficient failover and virtual machine (VM) migration in virtual desktop infrastructure (VDI)
EP2539820B1 (en) System and method for failing over cluster unaware applications in a clustered system
US7689859B2 (en) Backup system and method
US8307363B2 (en) Virtual machine system, restarting method of virtual machine and system
US8719497B1 (en) Using device spoofing to improve recovery time in a continuous data protection environment
EP2652599B1 (en) System reset
US8386853B2 (en) System and method for a staggered execution environment
EP3750066B1 (en) Protection of infrastructure-as-a-service workloads in public cloud
US20130254765A1 (en) Patch applying method for virtual machine, storage system adopting patch applying method, and computer system
WO2020015709A1 (en) Virtual machine mirror image file processing method and device
WO2015043155A1 (en) Method and device for network element backup and recovery based on command set
US9471256B2 (en) Systems and methods for restoring data in a degraded computer system
US10824517B2 (en) Backup and recovery of configuration files in management device
US20160224441A1 (en) Synchronous replication error detection and handling
US10860442B2 (en) Systems, methods and computer readable media for business continuity and disaster recovery (BCDR)
JP6848606B2 (en) Controls, multiplexing systems, multiplexing methods and programs
US10970181B2 (en) Creating distributed storage during partitions
CN110543385A (en) Virtual backup method and virtual backup restoration method
US20200310671A1 (en) Data consistency during reverse replication
US10853201B1 (en) Backing up files storing virtual machines
JP4822024B2 (en) Fault-tolerant server, full backup method, and full backup program
CN117785568A (en) Dual-master dual-machine hot standby method and device
JP2007233940A (en) Patch application control method
KR101240307B1 (en) MBR Remote Backup System Using Mobile Device
CN116881225A (en) Node deployment method, node deployment device, electronic equipment and computer readable storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210119

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210215

R150 Certificate of patent or registration of utility model

Ref document number: 6848606

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150