JP2018169841A - Control unit, multiplex system, multiplex method and program - Google Patents
Control unit, multiplex system, multiplex method and program Download PDFInfo
- 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
Links
Images
Landscapes
- Retry When Errors Occur (AREA)
- Hardware Redundancy (AREA)
Abstract
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.
特許文献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.
(本発明にかかる実施の形態の概要)
本発明の実施形態の説明に先立って、本発明にかかる実施の形態の概要について説明する。図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
なお、図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
制御装置10は、多重化制御部12と、画面比較部13と、選択肢提示部14と、復帰制御部15とを有する。多重化制御部12は、情報処理装置2A,2Bで同一のアプリケーションを実行させるように制御する多重化制御手段としての機能を有する。画面比較部13は、情報処理装置2A,2Bのそれぞれで実行されているアプリケーションへの入力に対して出力される画面表示内容が互いに一致しているか否かを比較する比較手段としての機能を有する。
The
選択肢提示部14は、画面表示内容が一致していない場合に、アプリケーションのユーザに対して、アプリケーションの復帰処理の選択肢を提示する提示手段としての機能を有する。復帰制御部15は、選択肢の提示に応じてユーザによってなされた選択に基づいて、アプリケーションの復帰を制御する復帰制御手段としての機能を有する。
The
本実施の形態にかかる多重化システム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
(実施の形態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
共有ディスク装置60は、情報処理装置200A及び情報処理装置200Bに共有されており、情報処理装置200A及び情報処理装置200Bからアクセスされる。そして、共有ディスク装置60は、情報処理装置200A及び情報処理装置200Bからのデータを格納する。また、共有ディスク装置60は、情報処理装置200A及び情報処理装置200Bに対し、格納されているデータを提供する。
The shared
図3は、実施の形態1にかかる制御装置100の構成を示す図である。制御装置100は、ユーザによって操作されユーザに情報を提供するクライアントPC(Personal Computer)として動作するコンピュータである。制御装置100は、ハードウェアとして、プロセッサ101と、メモリ102と、ディスク装置103と、通信装置104と、入出力部106とを有する。
FIG. 3 is a diagram illustrating a configuration of the
プロセッサ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
入出力部106は、ユーザインタフェースとしての機能を有する。入出力部106は、例えば、ディスプレイ等の表示装置、及び、キーボード又はポインティングデバイス(例えばマウス)等の入力装置である。あるいは、入出力部106は、例えば、表示装置と入力装置とが一体となったタッチパネル等である。入出力部106は、プロセッサ101によって実行されるプログラムの処理に関する画面を表示してユーザに視認可能とする。また、入出力部106は、ユーザの操作を受け付ける。
The input /
さらに、制御装置100は、ソフトウェアとして、仮想基盤クライアント110を有する。仮想基盤クライアント110は、ディスク装置103に格納され、制御装置100にインストールされている。仮想基盤クライアント110については後述する。なお、仮想基盤クライアント110は、VDI(Virtual Desktop Infrastructure;仮想デスクトップインフラストラクチャー)によって実現されてもよい。
Furthermore, the
情報処理装置200A,200Bは、サーバとして動作するコンピュータである。情報処理装置200A及び情報処理装置200Bは、一方が本番系(運用系)のサーバ、他方が待機系(予備系)のサーバとして動作し得る。情報処理装置200A及び情報処理装置200Bは、物理的に1つの装置に組み込まれていてもよいし、物理的に別個であってもよい。なお、以下、情報処理装置200A,200B等の複数ある構成要素を区別することなく説明するときは、単に、情報処理装置200等と記載することがある。なお、図2は、多重化システム50が2つの情報処理装置200A,200Bを有する例を示すが、情報処理装置200の数は任意である。
The
情報処理装置200A及び情報処理装置200Bは、それぞれ、ハードウェア202A及びハードウェア202Bを有する。ハードウェア202は、プロセッサ101、メモリ102、ディスク装置103及び通信装置104と実質的に同様の構成を有する。
The
また、情報処理装置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
仮想マシン220は、物理的な構成要素であるハードウェア202と同様に、論理的な構成要素である仮想プロセッサ、仮想メモリ、仮想ディスク及び仮想NIC等を有する。仮想マシン220は、仮想NICを用いて、ハイパーバイザ210と通信を行うことができる。なお、図2に示した例では、情報処理装置200Aにおいて仮想マシン220Aが実行されており、情報処理装置200Bにおいて仮想マシン220は実行されていない。仮想マシン220Aは、ハイパーバイザ210にインストールされている。
Similarly to the
仮想マシン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
制御装置100は、仮想基盤クライアント110の機能によって、ハイパーバイザ210に対して管理のための指示を送信する。この管理のための指示は、仮想マシン220の生成、仮想マシン220の起動、ゲストOS230のシャットダウン、ゲストOS230の再起動、仮想マシン220のテンプレートの生成及び展開、VMツール250のインストール、及びハイパーバイザ210の再起動を含む。ハイパーバイザ210は、各指示を受け付けると、その指示に応じた処理を行う。
The
また、仮想基盤クライアント110は、ハイパーバイザ210上で実行されているゲストOS230に関する画面表示内容を、入出力部106に表示させる。これにより、ユーザは、入出力部106に表示されたゲストOS230に関する画面表示内容を視覚的に確認することができる。したがって、ユーザは、入出力部106を用いてアプリケーション240の画面表示内容を視覚的に確認することができる。さらに、ユーザは、ゲストOS230で実現されているGUIを介して、マウス又はタッチパネル等のポインティングデバイス又はキーボード等によって、入力を行うことも可能である。
In addition, the
各ハイパーバイザ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
また、各ハイパーバイザ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
また、各ハイパーバイザ210は、VMツール250のインストールの指示を受け付けると、VMツール250をゲストOS230にインストールする機能を有する。ハイパーバイザ210は、VMツール250と通信を行い、保護対象のアプリケーション240を起動及び終了する機能を有する。ここで、「保護対象のアプリケーション」とは、そのアプリケーションを実行しているシステム(情報処理装置200等)に何らかの異常があったとしても、データの破壊及びアプリケーションの継続不能を防止すべきアプリケーションのことをいう。本実施の形態では、アプリケーションの冗長化によって、アプリケーションを保護し得る。
Each
また、各ハイパーバイザ210は、VMツール250からゲストOS230の起動が完了したことを示す通知を受け付け、この通知に応じて制御装置100の仮想基盤クライアント110に対してゲストOS230の起動が完了したことを示す通知を送信する機能を有する。また、各ハイパーバイザ210は、VMツール250を介して、保護対象のアプリケーション240のウィンドウ範囲を示す情報を取得して、その情報を制御装置100の仮想基盤クライアント110に対して送信する機能を有する。また、各ハイパーバイザ210は、VMツール250を介して、保護対象のアプリケーション240のアプリケーション環境をゲストOS230から取得し、その環境を他のゲストOS230へ、VMツール250を介して複製する機能を有する。
Further, each
アプリケーション240Aは、ゲストOS230Aでカプセル化されている。したがって、アプリケーション240Aに関する、バイナリデータ、使用ライブラリ、設定ファイル、使用ファイル(作業ファイル)等のアプリケーション240Aの実行環境(アプリケーション環境)に変更があった場合でも、アプリケーション240A(の実行環境)は、容易に他のゲストOS230に複製され得る。ユーザは、アプリケーション240Aを使用する際に、アプリケーション240A上で作業ファイルを開き、GUI又はキーボード等によって、アプリケーション240Aに対して入力を行い、作業ファイルを保存する。なお、アプリケーション240Aは、ユーザの入力に対して、特定の画面表示内容を含む応答を送信する。ここで、本実施の形態にかかるアプリケーション240は、好ましくは、乱数又はシステムの時刻等により画面表示が変更されるアプリケーション、サーバ/クライアント型のアプリケーションなど、ユーザの入力内容に関係なく変化する画面表示を行うアプリケーションではない。
The
VMツール250は、ハイパーバイザ210からの指示で、自身に登録されている保護対象のアプリケーション240を起動又は終了する機能を有する。VMツール250は、自身がインストールされているゲストOS230の起動が完了したことを、ハイパーバイザ210に通知する機能を有する。また、ゲストOS230は、起動しているアプリケーション240の画面表示内容が表示されているウィンドウ範囲を示す情報(ウィンドウ範囲情報)を有している。VMツール250は、ゲストOS230からこのウィンドウ範囲情報を取得して、ハイパーバイザ210に対して送信する機能を有する。
The
また、VMツール250は、ユーザがアプリケーション240の保護の開始時に、その保護対象のアプリケーション240の起動ファイルの位置をこのVMツール250に指定するためのインタフェースを有する。また、VMツール250は、保護対象のアプリケーション240の実行環境(アプリケーション環境)をゲストOS230から取得して、ハイパーバイザ210に送信する機能を有する。さらに、VMツール250は、ハイパーバイザ210から受け付けた保護対象のアプリケーション240のアプリケーション環境を、自身がインストールされたゲストOS230へ複製して反映する機能を有する。
Further, the
仮想基盤クライアント110は、多重化制御部112、入力送信部120、画面比較部130、選択肢提示部140、及び復帰制御部150を有する。多重化制御部112は、本番系設定部114及び多重化処理部116を有する。復帰制御部150は、本番系選択部152及び環境複製部154を有する。多重化制御部112、画面比較部130、選択肢提示部140、及び復帰制御部150は、それぞれ、図1に示された多重化制御部12、画面比較部13、選択肢提示部14、及び復帰制御部15に対応する。
The
多重化制御部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
入力送信部120は、ユーザからのアプリケーション240に対する入力を受け付ける。そして、入力送信部120は、その入力を、本番系及び待機系のハイパーバイザ210に対して同時に送信する。また、入力送信部120は、入力に対する応答のないハイパーバイザ210に対してpingコマンドを実行する。また、入力送信部120は、入出力部106を用いて、ユーザに対して、ハイパーバイザ210での入力状況について通知して対応の選択肢を提示する機能を有する。さらに、入力送信部120は、それぞれの選択肢に応じた処理を行う機能を有する。
The
画面比較部130は、本番系及び待機系のハイパーバイザ210それぞれから、保護対象のアプリケーション240のウィンドウ範囲情報を取得する。そして、画面比較部130は、本番系のアプリケーション240の画面表示内容と待機系のアプリケーション240の画面表示内容とを比較して、互いに一致しているか否かを判定する。これにより、画面比較部130は、複数のコンピュータである情報処理装置200A,200Bのそれぞれで実行されているアプリケーション240A,240Bへの入力に対して出力される画面表示内容が一致しているか否かを比較する比較手段としての機能を有する。
The
選択肢提示部140は、本番系のアプリケーション240の画面表示内容と待機系のアプリケーション240の画面表示内容とが一致していない場合に、その旨を、入出力部106を用いてユーザに通知する。さらに、選択肢提示部140は、保護対象のアプリケーション240の復帰処理(リカバリ処理)の選択肢を提示する。また、選択肢提示部140は、本番系のアプリケーション240及び待機系のアプリケーション240それぞれの最新の画面表示内容を、ユーザに提示する機能を有する。この最新の画面表示内容の提示は、本番系のアプリケーション240の画面表示内容と待機系のアプリケーション240の画面表示内容とが一致しているか否かに関わらず、行われてもよい。選択肢提示部140は、画面表示内容が一致していない場合に、アプリケーション240のユーザに対して、アプリケーション240の復帰処理の選択肢を提示する提示手段としての機能を有する。
When the screen display content of the
復帰制御部150は、選択肢提示部140によって提示されたそれぞれの選択肢に応じた復帰処理を行う機能を有する。また、復帰制御部150は、ハイパーバイザ210に対して、保護対象のアプリケーション240のアプリケーション環境を、他のゲストOS230に複製するように指示する機能を有する。そして、復帰制御部150は、選択肢の提示に応じてユーザによってなされた選択に基づいて、アプリケーション240の復帰を制御する復帰制御手段としての機能を有する。
The
図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
アプリケーション240Aが動作するゲストOS230Aに、VMツール250がインストールされる(ステップS102)。具体的には、仮想基盤クライアント110の多重化制御部112は、アプリケーション240Aを実行するハイパーバイザ210Aに対して、ゲストOS230AにVMツール250Aをインストールするように指示する。ハイパーバイザ210Aは、この指示に応じて、アプリケーション240Aが動作するゲストOS230Aに、VMツール250Aをインストールする。
The
仮想基盤クライアント110は、本番系の設定を行う(ステップS104)。具体的には、多重化制御部112の本番系設定部114は、保護対象であるアプリケーション240Aを、本番系のアプリケーション240と設定する。また、本番系設定部114は、保護対象のアプリケーション240Aが動作するゲストOS230A及び仮想マシン220Aを、それぞれ、本番系のゲストOS230及び仮想マシン220と設定する。また、本番系設定部114は、保護対象のアプリケーション240Aを実行するハイパーバイザ210Aを本番系のハイパーバイザ210と設定し、情報処理装置200Aを本番系の情報処理装置200と設定する。
The
一方、本番系設定部114は、本番系である情報処理装置200Aとは異なる他の情報処理装置200Bで実行されるハイパーバイザ210Bを、待機系のハイパーバイザ210と設定する。なお、本番系設定部114は、情報処理装置200Bを、待機系の情報処理装置200と設定してもよい。
On the other hand, the production system setting unit 114 sets the
多重化システム50は、多重化処理を行う(ステップS106)。図6は、実施の形態1にかかる、多重化処理がなされた多重化システム50を示す図である。仮想基盤クライアント110の多重化処理部116は、ハイパーバイザ210Aに対して、テンプレート62を生成するように指示する。ハイパーバイザ210Aは、この指示に応じて、ゲストOS230Aをシャットダウンして、仮想マシン220Aからテンプレート62を生成する。ハイパーバイザ210Aは、生成されたテンプレート62を、共有ディスク装置60上の指定された領域に格納する。
The multiplexing
多重化処理部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
次に、多重化システム50は、アプリケーション240の起動処理を行う(ステップS108)。具体的には、仮想基盤クライアント110の多重化制御部112は、ハイパーバイザ210A及びハイパーバイザ210Bに対して、それぞれアプリケーション240A及びアプリケーション240Bを起動するように指示する。ハイパーバイザ210A及びハイパーバイザ210Bは、この指示に応じて、それぞれ仮想マシン220A及び仮想マシン220Bを起動する。仮想マシン220A及び仮想マシン220Bは、それぞれ、ゲストOS230A及びゲストOS230Bを起動する。
Next, the multiplexing
ハイパーバイザ210Aは、VMツール250AからゲストOS230Aの起動が完了したことを示す通知を受け付けた後、VMツール250Aを介して、アプリケーション240Aを起動する。同様に、ハイパーバイザ210Bは、VMツール250BからゲストOS230Bの起動が完了したことを示す通知を受け付けた後、VMツール250Bを介して、アプリケーション240Bを起動する。
The
なお、仮想基盤クライアント110は、予め設定された待機時間Tappwtだけ待機した後、アプリケーション240A及びアプリケーション240Bが共に起動を完了したと判断してもよい。したがって、待機時間Tappwtは、アプリケーション240A及びアプリケーション240Bの実際の起動完了時間よりも十分長いとする。そして、このとき、仮想基盤クライアント110は、アプリケーション240A及びアプリケーション240Bのウィンドウ範囲情報を取得して、後述する処理を行う。
Note that the
仮想基盤クライアント110は、アプリケーション240Aに対してユーザから入力があったか否かを判定する(ステップS110)。そして、ユーザから入力があった場合(S110のYES)、入力送信部120は、入力内容を、ハイパーバイザ210A及びハイパーバイザ210Bに対して同時に送信する(ステップS112)。ハイパーバイザ210A及びハイパーバイザ210Bは、送信された入力内容を受信すると、入力内容を、それぞれアプリケーション240A及びアプリケーション240Bに入力し反映する。これにより、アプリケーション240A及びアプリケーション240Bは、システムに異常が発生していなければ、入力内容に応じた動作を行い得る。
The
このとき、ハイパーバイザ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
仮想基盤クライアント110の画面比較部130は、アプリケーション240A,240Bへの入力に対して出力される画面表示内容が一致しているか否かを比較する(ステップS120)。具体的には、画面比較部130は、アプリケーション240Aに対する入力があった後、仮想基盤クライアント110で予め設定されている待ち時間Tuiwtの間、待機する。そして、画面比較部130は、待機後の直近のアプリケーション240A及びアプリケーション240Bそれぞれのウィンドウ範囲の画面表示内容を比較する。なお、画面比較部130は、アプリケーション240の画面表示内容の全ての範囲について比較する必要はない。例えば、画面比較部130は、ある時間内で変化した表示内容のみ、比較してもよい。
The
画面表示内容が一致する場合(ステップ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
一方、画面表示内容が一致しない場合(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
再比較処理を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
図7は、実施の形態1にかかる選択肢提示部140の処理によって制御装置100の入出力部106に表示される選択肢表示画面80を例示する図である。図7に例示する選択肢表示画面80は、情報処理装置200A(アプリケーション240A)の画面表示内容82A及び情報処理装置200B(アプリケーション240B)の画面表示内容82Bを含む。また、選択肢表示画面80は、選択肢#1〜選択肢#5を含む。
FIG. 7 is a diagram illustrating an
選択肢#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
ユーザによって選択肢#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
ユーザによって選択肢#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
ユーザによって選択肢#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
ユーザによって選択肢#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
そして、本番系選択部152は、ユーザによって選択されたアプリケーション240を、本番系のアプリケーション240と設定する(ステップS154)。これにより、ユーザが正常であると判断したアプリケーション240を動作しているコンピュータ(情報処理装置200又は仮想マシン220)を、適切に本番系と設定することができる。一方、本番系選択部152は、ユーザによって選択されなかった方のアプリケーション240を終了するように、そのアプリケーション240が実行されるハイパーバイザ210に指示する(ステップS156)。この指示に応じて、ハイパーバイザ210は、アプリケーション240を終了する。これにより、異常であるアプリケーション240を適切に終了することができる。そして、本番系選択部152は、選択されなかったアプリケーション240が動作するゲストOS230を、新たな待機系と設定する。
Then, the production
復帰制御部150の環境複製部154は、ユーザに対して、設定された本番系のアプリケーション240で作業ファイルを保存するように指示する(ステップS158)。例えば、環境複製部154は、入出力部106を用いて、本番系のアプリケーション240で作業ファイルを保存することを促すような画面(ポップアップ画面等)を表示させてもよい。この指示に応じてユーザが作業ファイルを保存すると、環境複製部154は、本番系のアプリケーション240を終了するように、ハイパーバイザ210に対して指示する。この指示に応じて、ハイパーバイザ210は、本番系のアプリケーション240を終了する。
The
そして、環境複製部154は、新たに設定された待機系のゲストOS230へ、新たに設定された本番系のアプリケーション240の実行環境を複製する(ステップS160)。このように、待機系のシステムに正常である本番系のアプリケーション240を複製することで、保護対象のアプリケーション240を冗長化することができる。したがって、保護対象のアプリケーション240を適切に保護することができる。
Then, the
なお、本実施の形態における多重化システム50は、仮想マシン220によって構成されているので、上述したように、アプリケーション240の実行環境はカプセル化され得る。したがって、環境複製部154は、容易に本番系のアプリケーション240の実行環境を複製することができる。言い換えると、コンピュータが仮想マシン220で実現されることで、本番系と待機系とで、容易に同じ環境にすることが可能となる。
Note that, since the multiplexing
そして、復帰制御部150は、ハイパーバイザ210に対して、本番系のアプリケーション240及び待機系のアプリケーション240の起動を指示する(ステップS162)。この指示に応じて、本番系のアプリケーション240を実行するハイパーバイザ210は、本番系のアプリケーション240を起動する。また、待機系のゲストOS230を実行するハイパーバイザ210は、待機系のアプリケーション240を起動する。そして、処理は、S110の処理に戻る。
Then, the
例えば、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
このように、本実施の形態にかかる多重化システム50は、複数のコンピュータで実行されているアプリケーション240にかかる画面表示内容が互いに一致しないという異常が発生した場合に、ユーザに対して、アプリケーション240の復帰処理の選択肢を提示するように構成されている。これにより、本実施の形態にかかる多重化システム50は、ユーザの選択に応じたアプリケーション240の復帰動作を行うことができる。したがって、本実施の形態にかかる多重化システム50は、アプリケーションについて異常が発生した場合であっても、ユーザの選択に応じて適切にアプリケーションの復帰動作を行うことが可能となる。
As described above, the multiplexing
また、上述したフォールトトレラント技術では、本番系の計算システムと待機系の計算システムとの間で、アプリケーションの処理に関して厳密に同期を行う必要がある。しかしながら、厳密に同期を行うようにするために、複雑な処理又は構成が必要となるおそれがある。したがって、上述したフォールトトレラント技術では、アプリケーションの異常が発生した場合に容易にアプリケーションの復帰動作を行うことができないおそれがある。 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
なお、ユーザによる入力に対し、アプリケーション240が正常に動作していても、アプリケーション240の仕様によっては、一方のアプリケーション240(情報処理装置200)における画面表示の遅延が生じる場合があり得る。具体的には、アプリケーション240におけるディスクI/Oによる遅延、又は、アプリケーション240のCPUバウンドの処理による遅延等が生じる場合がある。このような遅延に対処するために、以下の処理が行われてもよい。
Note that even if the
仮想基盤クライアント110は、アプリケーション240に関するCPU使用率がユーザによって設定された閾値を超えている場合に、アプリケーション240によるCPUバウンドの状態と判断する。そして、仮想基盤クライアント110は、このCPUバウンドの時間がユーザによって設定された時間を超えていない間は、正常にアプリケーション240の処理が行われているとして、画面表示内容の比較処理を行わないようにしてもよい。また、仮想基盤クライアント110は、本番系及び待機系のアプリケーション240のいずれについても、CPUバウンドの時間が設定された時間を超えた場合に、画面表示内容の比較処理を行うようにしてもよい。
The
また、アプリケーション240においてファイルの読み書きの処理が行われている間は、仮想基盤クライアント110は、画面表示内容の比較処理を行わないようにしてもよい。具体的には、ハイパーバイザ210は、ファイル読み書きでOS(ゲストOS230)が呼び出された時点からファイルの読み書きが完了するまでの間、仮想基盤クライアント110に対し、画面表示内容の比較処理を行わないように通知してもよい。そして、ハイパーバイザ210は、ファイルの読み書きが完了したときに、仮想基盤クライアント110に通知を行ってもよい。そして、仮想基盤クライアント110は、本番系及び待機系の両方のアプリケーション240においてファイルの読み書きが完了したときに、画面表示内容の比較処理を行ってもよい。なお、ファイルの読み書きの処理がシステムエラーに起因して完了しないことも考慮して、待機時間の閾値を設定してもよい。
Further, the
(実施の形態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
図8は、実施の形態2にかかる多重化システム50を示す図である。多重化システム50は、制御装置100と、1つの情報処理装置200とを有する。実施の形態2にかかる多重化システム50は、実施の形態1にかかる多重化システム50と異なり、共有ディスク装置を有さない。制御装置100及び情報処理装置200は、互いに、ネットワーク70を介して接続されている。
FIG. 8 is a diagram illustrating a
情報処理装置200は、ハードウェア202と、1つのハイパーバイザ210を有する。ハイパーバイザ210は、1つのハードウェア202上で、複数の仮想マシン220を実行するための処理を行う。そして、それらの実行される複数の仮想マシン220の1つが本番系の仮想マシン(コンピュータ)として動作し、他の仮想マシン220が待機系の仮想マシン(コンピュータ)として動作する。
The information processing apparatus 200 includes
図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
制御装置100は、仮想基盤クライアント110の機能によって、ハイパーバイザ210に対して管理のための指示を送信する。制御装置100は、図3に示した実施の形態1にかかる制御装置100と実質的に同様の構成要素を有し得る。なお、実施の形態2においては、情報処理装置200及びハイパーバイザ210は、1つである。したがって、実施の形態2にかかる仮想基盤クライアント110は、情報処理装置200及びハイパーバイザ210を、本番系と待機系とで区別しない。つまり、実施の形態2にかかる仮想基盤クライアント110は、ハイパーバイザ210を本番系又は待機系と設定しない。
The
図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
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
S106の処理と同様に、多重化システム50は、多重化処理を行う(ステップS206)。図11は、実施の形態2にかかる、多重化処理がなされた多重化システム50を示す図である。仮想基盤クライアント110の多重化処理部116は、ハイパーバイザ210に対して、テンプレート62を生成するように指示する。ハイパーバイザ210は、この指示に応じて、ゲストOS230Aをシャットダウンして、仮想マシン220Aからテンプレート62を生成する。ハイパーバイザ210は、生成されたテンプレート62を、自身に格納する。
Similar to the process of S106, the multiplexing
多重化処理部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
次に、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
ハイパーバイザ210は、VMツール250AからゲストOS230Aの起動が完了したことを示す通知を受け付けた後、VMツール250Aを介して、アプリケーション240Aを起動する。同様に、ハイパーバイザ210は、VMツール250BからゲストOS230Bの起動が完了したことを示す通知を受け付けた後、VMツール250Bを介して、アプリケーション240Bを起動する。
The
ユーザからアプリケーション240Aに対して入力があった場合(ステップS210のYES)、入力送信部120は、入力内容を、ハイパーバイザ210に対して送信する(ステップS212)。ハイパーバイザ210は、送信された入力内容を受信すると、入力内容を、アプリケーション240A及びアプリケーション240Bに入力し反映する。これにより、アプリケーション240A及びアプリケーション240Bは、システムに異常が発生していなければ、入力内容に応じた動作を行い得る。
When there is an input from the user to the
次に、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
なお、実施の形態2にかかる復帰処理においては、復帰制御部150は、1つのハイパーバイザ210に対して指示を行う。そして、ハイパーバイザ210は、アプリケーション240A及びアプリケーション240Bの再起動を行い(S245)、ゲストOS230A及びゲストOS230Bの再起動を行い(S247)、自身の再起動を行う(S249)。
In the restoration process according to the second embodiment, the
また、S256の処理において、本番系選択部152は、ユーザによって選択されなかった方のアプリケーション240を終了するように、1つのハイパーバイザ210に指示する。この指示に応じて、ハイパーバイザ210は、ユーザによって選択されなかった方のアプリケーション240を終了する。そして、本番系選択部152は、選択されなかったアプリケーション240が動作するゲストOS230を、新たな待機系と設定する。
In the process of S256, the production
また、S262の処理において、復帰制御部150は、1つのハイパーバイザ210に対して、本番系のアプリケーション240及び待機系のアプリケーション240の起動を指示する。この指示に応じて、ハイパーバイザ210は、本番系のゲストOS230上で本番系のアプリケーション240を起動する。また、ハイパーバイザ210は、待機系のゲストOS230上で待機系のアプリケーション240を起動する。
In the process of S262, the
上述したように、実施の形態2にかかる多重化システム50においても、複数のコンピュータ(仮想マシン220)で実行されているアプリケーション240にかかる画面表示内容が互いに一致しないという異常が発生した場合に、ユーザに対して、アプリケーション240の復帰処理の選択肢を提示するように構成されている。したがって、実施の形態2にかかる多重化システム50においても、アプリケーションについて異常が発生した場合であっても、ユーザの選択に応じて適切にアプリケーションの復帰動作を行うことが可能となる。また、実施の形態2にかかる多重化システム50においても、ユーザが画面表示内容の比較を行うことができればよいので、アプリケーションの処理に関して厳密に同期を行う必要はない。したがって、実施の形態2にかかる多重化システム50においても、上述したフォールトトレラント技術と比較して、アプリケーションの異常が発生した場合に容易にアプリケーションの復帰動作を行うことが可能となる。
As described above, even in the
このように、実施の形態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
(変形例)
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上述したフローチャートにおいて、各処理(ステップ)の順序は、適宜、変更可能である。また、複数ある処理(ステップ)のうちの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
また、上述した実施の形態にかかる多重化システム50は、アプリケーション240を実行する2つのコンピュータを有するとしたが、このような構成に限られない。アプリケーション240を実行するコンピュータの数は任意である。一方、コンピュータの数が3つ以上である場合、上述したフォールトトレラント技術では、アプリケーションの応答が異なる場合に、多数決によって異常となるシステムを判定することができる。しかしながら、コンピュータの数が2つである場合、上述したフォールトトレラント技術では、多数決を行うことができないので、異常となるシステムを判定することが困難である。しかしながら、本実施の形態にかかる多重化システム50では、多数決を行うことなく、異常となるシステムを判定できるので、コンピュータの数が2つであっても、適切に、異常となるシステムを判定することが可能となる。つまり、本実施の形態にかかる多重化システム50は、コンピュータの数が2つである場合に、特に有効である。
Moreover, although the
また、上述した実施の形態では、復帰処理の際に、新たに待機系と設定されるゲストOS230は、ユーザに選択されなかった方のアプリケーション240が動作するゲストOS230としたが、このような構成に限られない。ユーザに選択されなかった方のアプリケーション240が動作するゲストOS230及び新たな本番系のゲストOS230とは別のゲストOSを、新たな待機系として設定してもよい。例えば、仮想マシン220のテンプレート(テンプレート62)から新たな仮想マシン220を展開及び起動して、そのゲストOSを、新たな待機系として設定してもよい。あるいは、復帰処理を迅速化するため、新たな待機系と設定され得るゲストOSを、ゲストOS230A,230Bとは別に予め起動しておいてもよい。
In the above-described embodiment, the
また、上述した実施の形態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
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(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 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 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
240
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.
請求項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.
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)
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 |
-
2017
- 2017-03-30 JP JP2017067195A patent/JP6848606B2/en active Active
Patent Citations (5)
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 |