JP6944799B2 - Information processing device - Google Patents

Information processing device Download PDF

Info

Publication number
JP6944799B2
JP6944799B2 JP2017058308A JP2017058308A JP6944799B2 JP 6944799 B2 JP6944799 B2 JP 6944799B2 JP 2017058308 A JP2017058308 A JP 2017058308A JP 2017058308 A JP2017058308 A JP 2017058308A JP 6944799 B2 JP6944799 B2 JP 6944799B2
Authority
JP
Japan
Prior art keywords
collation
module
arithmetic
user application
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017058308A
Other languages
Japanese (ja)
Other versions
JP2018160197A (en
Inventor
俊輔 熊谷
俊輔 熊谷
正和 薗部
正和 薗部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
East Japan Railway Co
Original Assignee
East Japan Railway Co
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 East Japan Railway Co filed Critical East Japan Railway Co
Priority to JP2017058308A priority Critical patent/JP6944799B2/en
Publication of JP2018160197A publication Critical patent/JP2018160197A/en
Application granted granted Critical
Publication of JP6944799B2 publication Critical patent/JP6944799B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Retry When Errors Occur (AREA)

Description

本発明は、鉄道分野などの高い安全性が要求される分野で使用されるタブレット端末などの情報処理装置に関する。 The present invention relates to an information processing device such as a tablet terminal used in a field such as a railway field where high safety is required.

鉄道の分野では、例えば鉄道設備の保守作業において、タブレット端末を用いて係員へ様々な情報支援を行うことがある。このような場合、タブレット端末が異常動作し、係員が異常動作に気付かないと、作業の継続が困難になるばかりでなく、係員の安全、列車の安全又は列車の安定した運行に支障が生じる恐れがある。
このような事態を防ぐため、従来、2台のタブレット端末を係員に所持させ、これらに同じ処理を実行させるという対策が採られることがある。この対策によれば、一方のタブレット端末が異常動作した場合に、2台のタブレット端末の動作に差異が生じる。従って、係員は、これらを見比べることによって異常動作に気付くことができる。異常動作に気付くことができれば、係員は、作業の安全を確保するなど、フェールセーフを実現する動作へ移行することができる。
In the field of railways, for example, in the maintenance work of railway equipment, various information support may be provided to the staff using a tablet terminal. In such a case, if the tablet terminal operates abnormally and the staff does not notice the abnormal operation, not only will it be difficult to continue the work, but also the safety of the staff, the safety of the train, or the stable operation of the train may be hindered. There is.
In order to prevent such a situation, conventionally, measures may be taken to have two tablet terminals possessed by a staff member and have them perform the same processing. According to this measure, when one tablet terminal operates abnormally, there is a difference in the operation of the two tablet terminals. Therefore, the clerk can notice the abnormal operation by comparing these. If the staff can notice the abnormal operation, the staff can shift to the operation to realize the fail-safe, such as ensuring the safety of the work.

特許文献1には、1台の端末装置を用いて使用者が端末装置の異常に速やかに気付けるようにした技術が提案されている。特許文献1の端末装置では、1台の端末装置の中で情報処理が二重に行われ、二重の処理結果の表示が時分割で交互に出力される。これにより、一方の情報処理に異常動作があれば、交互の表示出力に差異が生じ、使用者は、異常動作に速やかに気付くことができる。 Patent Document 1 proposes a technique in which a user can quickly notice an abnormality in a terminal device by using one terminal device. In the terminal device of Patent Document 1, information processing is performed twice in one terminal device, and the display of the double processing result is alternately output in a time division manner. As a result, if there is an abnormal operation in one of the information processing, a difference occurs in the alternate display output, and the user can quickly notice the abnormal operation.

特開平6−161791号公報Japanese Unexamined Patent Publication No. 6-161791

同じ処理を実行する2台のタブレット端末を用いて係員を支援する構成では、タブレット端末の異常動作の発見が容易になる一方、係員が同一のタブレット端末を2台所持しなければならないという煩雑さが生じる。また、タブレット端末に何らかの情報を入力する場合、2台のタブレット端末に同じ入力を行わなければならないという煩雑さが生じる。 In a configuration in which two tablet terminals that execute the same process are used to support the staff, it is easy to detect abnormal operation of the tablet terminals, but the staff must have two identical tablet terminals. Occurs. Further, when inputting some information to the tablet terminals, the complexity of having to input the same information to the two tablet terminals arises.

一方、特許文献1の技術は、1台の端末装置の中で二重に情報処理を行うことで、同じ処理を実行する2台の端末装置を所持するのと同様の効果が得られることを期待している。しかしながら、1台の端末装置で情報処理を二重に行う場合、具体的には、1つのOS(Operating System)上に2つの情報処理モジュールを並列処理により動作させることになる。端末装置で生じる異常はOSの異常動作に起因することがあり、この場合、2つの情報処理モジュールの両方に異常動作が波及する。そして、2つの情報処理モジュールの両方に異常動作が生じて、両者の表示出力に差異が生じないと、使用者は、異常動作に気付くことが困難になる。例えば、OSの異常により2つの情報処理モジュールが停止し、両方の表示出力が更新されない場合、同じ表示出力が継続されて、使用者は異常動作に気付くことが難しい。 On the other hand, the technique of Patent Document 1 can obtain the same effect as possessing two terminal devices that execute the same processing by performing double information processing in one terminal device. Are expected. However, when information processing is performed twice by one terminal device, specifically, two information processing modules are operated by parallel processing on one OS (Operating System). The abnormality that occurs in the terminal device may be caused by the abnormal operation of the OS, and in this case, the abnormal operation spreads to both of the two information processing modules. Then, if an abnormal operation occurs in both of the two information processing modules and there is no difference in the display output between the two, it becomes difficult for the user to notice the abnormal operation. For example, when two information processing modules are stopped due to an abnormality in the OS and both display outputs are not updated, the same display output is continued and it is difficult for the user to notice the abnormal operation.

さらに、特許文献1の技術では、端末装置の中で動作するソフトウェアは、二重に情報処理を行う部分と、入力処理、データ送信処理およびデータ受信処理など二重に行わない部分とが混在する(特許文献1の図1を参照)。従って、仮に既存のアプリケーション・プログラム(以下、「アプリケーション」と略す。)があって、これを特許文献1の技術に対応させようとしても、一重の処理と二重の処理とを切り分け、これらを適切に対応付けるプログラムの改変が必要となる。すなわち、特許文献1の技術では、既存のアプリケーションがあっても、アプリケーションの多くの改変が必要になり、既存のアプリケーションを流用することが難しいという課題がある。 Further, in the technique of Patent Document 1, the software operating in the terminal device has a mixture of a portion that performs double information processing and a portion that does not perform double information processing such as input processing, data transmission processing, and data reception processing. (See FIG. 1 of Patent Document 1). Therefore, even if there is an existing application program (hereinafter abbreviated as "application") and it is attempted to correspond to the technique of Patent Document 1, single processing and double processing are separated and these are separated. It is necessary to modify the program to be appropriately associated. That is, the technique of Patent Document 1 has a problem that even if there is an existing application, many modifications of the application are required, and it is difficult to divert the existing application.

本発明は、情報処理装置の内部でアプリケーションの異常動作を高い信頼性を持って検出することのできる情報処理装置を提供することを目的とする。さらに、本発明は、既存のアプリケーションがある場合に、既存のアプリケーションを少ない改変で流用して、異常動作の検出の対象とすることのできる情報処理装置を提供することを目的とする。 An object of the present invention is to provide an information processing device capable of detecting an abnormal operation of an application inside the information processing device with high reliability. Another object of the present invention is to provide an information processing apparatus capable of detecting an abnormal operation by diverting the existing application with a small amount of modification when there is an existing application.

本発明は、上記目的を達成するため、
中央演算処理装置、メモリ及び表示装置を含むハードウェアと、
前記ハードウェアのリソースを複数に分割した第1論理パーティションと第2論理パーティションとを含む複数の論理パーティションを管理する仮想化部と、
ユーザ・アプリケーションがゲストOSを介して稼動され、前記第1論理パーティションで動作する仮想マシンと、
前記第2論理パーティションで動作し、前記ユーザ・アプリケーション内の照合対象の処理の照合を行う演算照合モジュールと、
を備え、
前記ユーザ・アプリケーションは、前記照合対象の処理を指定するための照合要求コードを含み、
前記仮想マシンは、前記照合対象の処理が実行される際、前記照合要求コードに基づいて、照合要求、前記照合対象の処理を特定する特定情報、及び前記照合対象の処理の結果を、前記ゲストOSから前記仮想化部へ送る機能を有し、
前記演算照合モジュールは、前記仮想化部から受けた前記照合要求に基づいて、前記特定情報により特定されかつ前記照合対象の処理に相当する照合用処理を実行し、前記照合用処理の結果と前記照合対象の処理の結果とを照合することを特徴とする情報処理装置である。
In order to achieve the above object, the present invention
Hardware including central processing unit, memory and display device,
A virtualization unit that manages a plurality of logical partitions including a first logical partition and a second logical partition in which the hardware resources are divided into a plurality of partitions, and a virtualization unit.
A virtual machine in which the user application is run via the guest OS and runs in the first logical partition,
An arithmetic collation module that operates in the second logical partition and collates the processing of the collation target in the user application.
With
The user application includes a collation request code for designating the process to be collated.
When the process of the collation target is executed, the virtual machine obtains the collation request, the specific information that identifies the process of the collation target, and the result of the process of the collation target based on the collation request code. It has a function to send from the OS to the virtualization unit.
Based on the collation request received from the virtualization unit, the arithmetic collation module executes a collation process specified by the specific information and corresponding to the process of the collation target, and the result of the collation process and the collation process are described. It is an information processing apparatus characterized in that it collates with the result of processing of a collation target.

この構成によれば、複数の論理パーティションのうち、第1論理パーティションで動作する仮想マシン上で、ゲストOSとユーザ・アプリケーションとが稼動する。さらに、第2論理パーティションで動作する演算照合モジュールが、ユーザ・アプリケーションに含まれる照合要求コードに基づいて、照合対象の処理に相当する照合用処理を行い、これらの処理の結果を照合する。この照合により、ユーザ・アプリケーションに異常動作が生じていないかが検出される。また、上記構成によれば、ゲストOSの異常に起因してユーザ・アプリケーションに異常動作が生じた場合でも、ゲストOSの異常は演算照合モジュールに波及しないので、ユーザ・アプリケーションの異常動作を検出できる。そして、この異常動作の検出により情報処理装置又は使用者にフェールセーフを実現する処理を行わせることができる。
さらに、上記構成によれば、ユーザ・アプリケーションに照合対象の処理を指定するための照合要求コードを含ませることで、演算照合モジュールに照合対象の処理の照合を行わせることができる。従って、ゲストOS上で動作する既存のユーザ・アプリケーションがある場合に、照合要求コードを付加すると言った少ない改変を行うだけで、ユーザ・アプリケーションを流用して、演算照合モジュールの照合処理に対応させることができる。
According to this configuration, the guest OS and the user application run on the virtual machine operating in the first logical partition among the plurality of logical partitions. Further, the arithmetic collation module operating in the second logical partition performs collation processing corresponding to the processing of the collation target based on the collation request code included in the user application, and collates the results of these processes. This collation detects if the user application is behaving abnormally. Further, according to the above configuration, even if an abnormal operation occurs in the user application due to an abnormality in the guest OS, the abnormality in the guest OS does not spread to the arithmetic matching module, so that the abnormal operation in the user application can be detected. .. Then, by detecting this abnormal operation, the information processing device or the user can be made to perform a process for realizing fail-safe.
Further, according to the above configuration, by including the collation request code for designating the collation target process in the user application, the arithmetic collation module can be made to collate the collation target process. Therefore, if there is an existing user application that runs on the guest OS, the user application can be diverted to support the collation process of the arithmetic collation module by making only a few modifications such as adding a collation request code. be able to.

ここで、本発明に係る情報処理装置は、複数種類の演算プログラムが前記演算照合モジュールにより読出し可能に格納された演算プログラム格納部をさらに備え、
前記演算照合モジュールは、前記演算プログラム格納部に格納された複数種類の演算プログラムの中から前記特定情報により特定される演算プログラムを用いて前記照合用処理を実行するように構成されてもよい。
この構成によれば、予め複数種類の演算プログラムを設けておくことで、様々な照合対象の処理に対応する照合用処理を行うことができる。また、同一種類の照合用処理を実行する演算プログラムを共通化できるので、演算プログラムを格納する領域の縮小化が図れる。
Here, the information processing apparatus according to the present invention further includes an arithmetic program storage unit in which a plurality of types of arithmetic programs are readable and stored by the arithmetic collation module.
The arithmetic collation module may be configured to execute the collation process using the arithmetic program specified by the specific information from among a plurality of types of arithmetic programs stored in the arithmetic program storage unit.
According to this configuration, by providing a plurality of types of arithmetic programs in advance, it is possible to perform collation processing corresponding to various collation target processes. Further, since the arithmetic program that executes the same type of collation processing can be shared, the area for storing the arithmetic program can be reduced.

さらに、前記照合用処理は、前記照合対象の処理と異なるアルゴリズムを有する構成としてもよい。
この構成によれば、演算照合モジュールは照合対象の処理と異なるアルゴリズムを用いて異常動作が生じていないか照合するので、照合対象の処理がアルゴリズムに起因して異常動作が生じるような場合でも、この異常動作を検出することができる。
Further, the collation process may have a configuration having an algorithm different from that of the collation target process.
According to this configuration, the arithmetic collation module collates whether or not an abnormal operation has occurred by using an algorithm different from the processing of the collation target. Therefore, even if the processing of the collation target causes an abnormal operation due to the algorithm. This abnormal operation can be detected.

また、本発明に係る情報処理装置は、前記第2論理パーティションで動作し、前記演算照合モジュールによる照合の結果が異常である場合に、前記ハードウェアを用いて異常を報知する報知モジュールを備えてもよい。
この構成によれば、ユーザ・アプリケーションに異常動作が生じた場合に、使用者に異常が報知されて、使用者にフェールセーフを実現するような動作を行わせることができる。また、報知モジュールは、ユーザ・アプリケーションが実行される第1論理パーティションとは異なる第2論理パーティションで動作するので、ゲストOSに起因する異常動作があっても、この異常動作の影響を受けずに異常の報知を行うことができる。
Further, the information processing apparatus according to the present invention is provided with a notification module that operates in the second logical partition and notifies an abnormality by using the hardware when the collation result by the arithmetic collation module is abnormal. May be good.
According to this configuration, when an abnormal operation occurs in the user application, the user is notified of the abnormality, and the user can be made to perform an operation for realizing fail-safe. Further, since the notification module operates in the second logical partition different from the first logical partition in which the user application is executed, even if there is an abnormal operation caused by the guest OS, it is not affected by this abnormal operation. Abnormality can be notified.

さらに、本発明に係る情報処理装置は、前記第2論理パーティションで動作し、前記ユーザ・アプリケーションの動作確認を繰り返し行う動作確認モジュールをさらに備えてもよい。
この構成によれば、動作確認モジュールにより、ユーザ・アプリケーションが停止してしまうような異常動作を検出し、これに対処することができる。また、動作確認モジュールは、ユーザ・アプリケーションが実行される第1論理パーティションと異なる第2論理パーティションで動作するので、ゲストOSに起因する異常動作があっても、この異常動作の影響を受けずにユーザ・アプリケーションの動作確認を行うことができる。
Further, the information processing apparatus according to the present invention may further include an operation confirmation module that operates in the second logical partition and repeatedly confirms the operation of the user application.
According to this configuration, the operation confirmation module can detect an abnormal operation that causes the user application to stop and deal with it. Further, since the operation check module operates in the second logical partition different from the first logical partition in which the user application is executed, even if there is an abnormal operation caused by the guest OS, it is not affected by this abnormal operation. You can check the operation of the user application.

本発明によれば、情報処理装置の内部でアプリケーションの異常動作を高い信頼性を持って検出することができる。さらに、本発明によれば、既存のアプリケーションがある場合に、既存のアプリケーションを少ない改変で流用して、異常動作の検出処理に対応させることができるという効果が奏される。 According to the present invention, abnormal operation of an application can be detected with high reliability inside an information processing apparatus. Further, according to the present invention, when there is an existing application, the existing application can be diverted with a small amount of modification to cope with the detection process of abnormal operation.

本発明の実施形態に係る情報処理装置を示す構成図である。It is a block diagram which shows the information processing apparatus which concerns on embodiment of this invention. 本発明の実施形態に係る情報処理装置の論理構造を示す構成図である。It is a block diagram which shows the logical structure of the information processing apparatus which concerns on embodiment of this invention. ユーザ・アプリケーションに含まれる照合要求コードを説明するもので、(A)は既存の処理コードの一例を示す図、(B)は照合要求コードが付加された処理コードの一例を示す図である。The collation request code included in the user application is described, (A) is a diagram showing an example of an existing processing code, and (B) is a diagram showing an example of a processing code to which a collation request code is added. 図3(B)の処理の手順を説明するフローチャートである。It is a flowchart explaining the procedure of the process of FIG. 3B. 演算照合処理の正常時の流れの一例を示すシーケンス図である。It is a sequence diagram which shows an example of the flow at the time of a normal operation collation processing. 演算照合処理の異常時の流れの一例を示すシーケンス図である。It is a sequence diagram which shows an example of the flow at the time of abnormality of arithmetic collation processing. 演算照合モジュールが実行する演算照合処理の手順の一例を示すフローチャートである。It is a flowchart which shows an example of the procedure of the arithmetic collation processing executed by the arithmetic collation module. 動作確認処理の流れの一例を示すシーケンス図である。It is a sequence diagram which shows an example of the flow of operation confirmation processing. 動作確認処理の問い合わせに対して応答を行うユーザ・アプリケーションのメッセージ処理の一例を示すフローチャートである。It is a flowchart which shows an example of the message processing of the user application which responds to the inquiry of the operation confirmation processing.

以下、本発明の実施の形態について図面を参照して詳細に説明する。
図1は、本発明の実施形態に係る情報処理装置を示す構成図である。図2は、本発明の実施形態に係る情報処理装置の論理構造を示す構成図である。
本発明の実施形態に係る情報処理装置1は、例えばタブレット端末であり、図1に示すように、CPU(Central Processing Unit:中央演算処理装置)11、不揮発性メモリ12、メモリ16、表示装置17、タッチパネル18及び通信装置19を備える。表示装置17は、例えば液晶ディスプレイなどの画像表示が可能な装置である。タッチパネル18は表示装置17上に設けられ、指又はデジタルペンなどを近接させることで近接した位置の情報を入力できる入力装置である。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
FIG. 1 is a configuration diagram showing an information processing device according to an embodiment of the present invention. FIG. 2 is a configuration diagram showing a logical structure of the information processing apparatus according to the embodiment of the present invention.
The information processing device 1 according to the embodiment of the present invention is, for example, a tablet terminal, and as shown in FIG. 1, a CPU (Central Processing Unit) 11, a non-volatile memory 12, a memory 16, and a display device 17 , The touch panel 18 and the communication device 19. The display device 17 is a device capable of displaying an image such as a liquid crystal display. The touch panel 18 is an input device provided on the display device 17 and capable of inputting information on close positions by bringing a finger or a digital pen close to each other.

不揮発性メモリ12には、仮想化環境を構築する仮想化OSプログラム13が格納され、さらに、仮想マシン記憶部14と、監視パーティション記憶部15とが設けられる。仮想マシン記憶部14には、ゲストOSプログラム32aとユーザ・アプリケーション31とが格納される。監視パーティション記憶部15には、監視ソフトウェア41が格納され、さらに、演算プログラム格納部415aが設けられる。 The non-volatile memory 12 stores a virtualization OS program 13 for constructing a virtualized environment, and is further provided with a virtual machine storage unit 14 and a monitoring partition storage unit 15. The guest OS program 32a and the user application 31 are stored in the virtual machine storage unit 14. The monitoring software 41 is stored in the monitoring partition storage unit 15, and an arithmetic program storage unit 415a is further provided.

<仮想化システムの構成>
情報処理装置1の起動時、CPU11は、先ず、仮想化OSプログラム13を実行する。これにより、図2に示すように、仮想化部24、仮想化部インタフェース52、サービス・ソフトウェア51、仮想マシン33及び高信頼型アプリケーション・インタフェース42が実現される。以下、アプリケーション・インタフェースを「API」と記す。
<Virtualization system configuration>
When the information processing device 1 is started, the CPU 11 first executes the virtualization OS program 13. As a result, as shown in FIG. 2, the virtualization unit 24, the virtualization unit interface 52, the service software 51, the virtual machine 33, and the highly reliable application interface 42 are realized. Hereinafter, the application interface will be referred to as "API".

仮想化部24は、ハードウェア・リソース25を時分割或いは複数の領域に分割した複数の論理パーティションを構築し、これらの管理を行う。複数の論理パーティションには、ゲストパーティション(第1論理パーティションに相当)21、監視パーティション22(第2論理パーティションに相当)及びシステムパーティション23が含まれる。また、仮想化部24は、各パーティション間のデータの送受信を行う。ゲストパーティション21と監視パーティション22とは、仮想化部24を介してデータの送受信が可能である他、互いに独立している。従って、ゲストパーティション21で情報処理上の異常が発生しても、この異常が監視パーティション22の情報処理へ容易に波及することはない。 The virtualization unit 24 constructs a plurality of logical partitions in which the hardware resource 25 is time-divisioned or divided into a plurality of areas, and manages these. The plurality of logical partitions include a guest partition (corresponding to the first logical partition) 21, a monitoring partition 22 (corresponding to the second logical partition), and a system partition 23. In addition, the virtualization unit 24 transmits / receives data between the partitions. The guest partition 21 and the monitoring partition 22 can send and receive data via the virtualization unit 24, and are independent of each other. Therefore, even if an information processing abnormality occurs in the guest partition 21, the abnormality does not easily spread to the information processing of the monitoring partition 22.

仮想化部インタフェース52は、サービス・ソフトウェア51と仮想化部24又はハードウェア・リソース25とを結ぶためのAPIを有するサブシステムである。サービス・ソフトウェア51は、仮想化環境の管理のために仮想化部24が利用する各種のサービスを提供する。 The virtualization unit interface 52 is a subsystem having an API for connecting the service software 51 with the virtualization unit 24 or the hardware resource 25. The service software 51 provides various services used by the virtualization unit 24 for managing the virtualized environment.

仮想マシン33は、ゲストパーティション21上で動作し、ハードウェア・リソース25を模擬して、ゲストOS32とハードウェア・リソース25とを結ぶソフトウェアである。仮想マシン33は、1つの情報処理装置のように振る舞うことで、ゲストOS32は仮想マシン33上で稼動する。仮想マシン33は、ゲストパーティション21に割り当てられたハードウェア・リソース25に加え、仮想化部24と通信を行うための機能モジュールを備える。ゲストOS32は、この機能モジュールを駆動するためのドライバがインストールされることで、機能モジュールを介して仮想化部24と通信を行うことが可能となる。 The virtual machine 33 is software that operates on the guest partition 21 and simulates the hardware resource 25 to connect the guest OS 32 and the hardware resource 25. The virtual machine 33 behaves like one information processing device, so that the guest OS 32 operates on the virtual machine 33. The virtual machine 33 includes a functional module for communicating with the virtualization unit 24 in addition to the hardware resource 25 assigned to the guest partition 21. By installing a driver for driving this functional module, the guest OS 32 can communicate with the virtualization unit 24 via the functional module.

高信頼型API42は、監視パーティション22上のソフトウェアと仮想化部24又はハードウェア・リソース25とを結ぶための高信頼型のAPIを有するサブシステムである。高信頼型のAPIとしては、例えばPOSIX(Portable operating system interface)などを採用できる。 The highly reliable API 42 is a subsystem having a highly reliable API for connecting the software on the monitoring partition 22 with the virtualization unit 24 or the hardware resource 25. As a highly reliable API, for example, POSIX (Portable operating system interface) can be adopted.

<ゲストパーティション>
ゲストパーティション21においては、CPU11の分割されたリソースが、仮想マシン記憶部14のゲストOSプログラム32aを実行する。これにより、図2に示すように、仮想マシン33上でゲストOS32が動作する。さらに、CPU11の分割されたリソースは、ゲストOS32において仮想マシン記憶部14のユーザ・アプリケーション31を実行する。これにより、ゲストOS32上でユーザ・アプリケーション31が動作する。なお、図2におけるユーザ・アプリケーション31は、メモリ16に展開されてCPU11によって実行されているプロセスの状態を表わしている。
<Guest partition>
In the guest partition 21, the divided resources of the CPU 11 execute the guest OS program 32a of the virtual machine storage unit 14. As a result, as shown in FIG. 2, the guest OS 32 operates on the virtual machine 33. Further, the divided resources of the CPU 11 execute the user application 31 of the virtual machine storage unit 14 in the guest OS 32. As a result, the user application 31 operates on the guest OS 32. The user application 31 in FIG. 2 represents the state of a process expanded in the memory 16 and executed by the CPU 11.

ゲストOS32は、例えば一般的なタブレット端末用のOSである。ゲストOS32は、仮想マシン33を1つの物理マシンのように認識し、1つの物理マシン上で動作するときと同様に動作する。さらに、ゲストOS32には、仮想化部24とデータの送受信を行うための機能モジュールのドライバが組み込まれ、これにより、ゲストOS32と仮想化部24との間でデータの送受信が可能となる。
ユーザ・アプリケーション31は、例えば、鉄道設備の保守作業を支援する支援ソフトウェアである。ユーザ・アプリケーション31は、1つの物理マシン上で動作する場合と同様に、仮想マシン33上で動作する。ただし、ユーザ・アプリケーション31は、仮想化部24にデータを送信するコードを持つ場合に、ゲストOS32の機能モジュールを介して仮想化部24へデータの送信を行うことができる。
The guest OS 32 is, for example, an OS for a general tablet terminal. The guest OS 32 recognizes the virtual machine 33 as if it were one physical machine, and operates in the same manner as when operating on one physical machine. Further, the guest OS 32 incorporates a driver of a function module for transmitting / receiving data to / from the virtualization unit 24, whereby data can be transmitted / received between the guest OS 32 and the virtualization unit 24.
The user application 31 is, for example, support software that supports maintenance work of railway equipment. The user application 31 operates on the virtual machine 33 in the same manner as it operates on one physical machine. However, if the user application 31 has a code for transmitting data to the virtualization unit 24, the user application 31 can transmit data to the virtualization unit 24 via the functional module of the guest OS 32.

<監視パーティション>
監視パーティション22においては、CPU11の分割されたリソースが、監視パーティション記憶部15の監視ソフトウェア41を実行する。これにより、高信頼型API42上で監視ソフトウェア41が動作する。なお、図2における監視ソフトウェア41は、メモリ16に展開されてCPU11によって実行されているプロセスの状態を表わしている。
監視ソフトウェア41は、主にユーザ・アプリケーション31の動作の監視と異常報知とを行う。監視ソフトウェア41は、図2に示すように、キープ・アライブ・モジュール411、報知モジュール412、診断モジュール413、ロギングモジュール414、演算照合モジュール415及び状態監視(health monitor)モジュール416を備える。キープ・アライブ・モジュール411は、本発明に係る動作確認モジュールの一例に相当する。
<Monitoring partition>
In the monitoring partition 22, the divided resources of the CPU 11 execute the monitoring software 41 of the monitoring partition storage unit 15. As a result, the monitoring software 41 operates on the highly reliable API 42. The monitoring software 41 in FIG. 2 shows the state of the process expanded in the memory 16 and executed by the CPU 11.
The monitoring software 41 mainly monitors the operation of the user application 31 and notifies an abnormality. As shown in FIG. 2, the monitoring software 41 includes a keep-alive module 411, a notification module 412, a diagnostic module 413, a logging module 414, an arithmetic collation module 415, and a health monitor module 416. The keep-alive module 411 corresponds to an example of the operation confirmation module according to the present invention.

キープ・アライブ・モジュール411は、ゲストパーティション21上のアプリケーションと繰り返し通信を行って、アプリケーションの動作確認を行う。
診断モジュール413は、情報処理装置1の起動時と動作中とにハードウェアの診断処理を行う。
ロギングモジュール414は、仮想マシン33上のゲストOS32と通信を行って、ユーザ・アプリケーションによる通信等のアクセスログ及び操作ログの収集および保存を行う。
The keep-alive module 411 repeatedly communicates with the application on the guest partition 21 to check the operation of the application.
The diagnostic module 413 performs hardware diagnostic processing during the startup and operation of the information processing device 1.
The logging module 414 communicates with the guest OS 32 on the virtual machine 33, and collects and saves access logs and operation logs such as communication by the user application.

報知モジュール412は、例えば表示装置17の出力によってユーザに報知を行う。監視パーティション22には、ゲストパーティション21よりも高い優先度で表示装置17のリソースが割り当てられている。これにより、仮にゲストパーティション21から表示装置17に画像出力が行われているときであっても、報知モジュール412はこの画像に上書きするように表示装置17に画像出力することができる。情報処理装置1が振動装置又は表示ランプなどの報知デバイスを有する場合には、報知モジュール412はこれらの報知デバイスを動作させて報知を行う構成を採用してもよい。 The notification module 412 notifies the user by, for example, the output of the display device 17. The monitoring partition 22 is allocated the resources of the display device 17 with a higher priority than the guest partition 21. As a result, even when the image is output from the guest partition 21 to the display device 17, the notification module 412 can output the image to the display device 17 so as to overwrite the image. When the information processing device 1 has a notification device such as a vibration device or an indicator lamp, the notification module 412 may adopt a configuration in which these notification devices are operated to perform notification.

演算照合モジュール415は、ユーザ・アプリケーション31上で指定された照合対象の処理が正常に行われたか否かを照合する。演算照合モジュール415は、ユーザ・アプリケーション31の照合対象の処理に相当する処理(以下、「照合用処理」と呼ぶ)を行って、ユーザ・アプリケーション31の処理結果と、自らの処理結果とを照合し、正常か異常かを判断する。照合用処理は、ユーザ・アプリケーション31の照合対象の処理と異なるアルゴリズムで、照合対象の処理と同様の処理を行い、同一の結果を返すように作成される。照合用処理は照合対象の処理より堅牢性の高いアルゴリズムを用いて作成されると、より好ましい。照合用処理を実現する演算プログラムは、複数種類の照合対象の処理に対応させて複数種類用意され、演算プログラム格納部415aに格納される。演算照合モジュール415は、演算プログラム格納部415aから演算プログラムを読み出して実行することができる。 The arithmetic collation module 415 collates whether or not the processing of the collation target specified on the user application 31 has been performed normally. The arithmetic collation module 415 performs a process corresponding to the process of the collation target of the user application 31 (hereinafter, referred to as “collation process”), and collates the process result of the user application 31 with its own process result. And judge whether it is normal or abnormal. The collation process is an algorithm different from the collation target process of the user application 31, and is created so as to perform the same process as the collation target process and return the same result. It is more preferable that the collation process is created by using an algorithm having a higher robustness than the process to be collated. A plurality of types of arithmetic programs that realize the collation processing are prepared corresponding to the processing of the plurality of types of collation targets, and are stored in the arithmetic program storage unit 415a. The arithmetic collation module 415 can read an arithmetic program from the arithmetic program storage unit 415a and execute it.

状態監視モジュール416は、監視パーティション22内で生じた例外又はタイムアウトに応じて所定の操作を行う。例えば、演算照合モジュール415は異常を検出した際に例外処理を呼び出し、状態監視モジュール416はこの呼び出しに基づいて報知モジュール412に異常発生の表示要求を出力する。 The condition monitoring module 416 performs a predetermined operation according to an exception or a timeout that occurs in the monitoring partition 22. For example, the arithmetic collation module 415 calls exception handling when an abnormality is detected, and the condition monitoring module 416 outputs an abnormality occurrence display request to the notification module 412 based on this call.

<照合要求コード>
続いて、演算照合処理を行うために、ユーザ・アプリケーション31に照合要求コードを付加して照合対象の処理を指定する方法について説明する。演算照合処理とは、演算照合モジュール415がユーザ・アプリケーション31で異常動作が発生していないか照合を行う処理である。ここで説明する照合要求コードを付加する方法は、一例に過ぎず、本発明を制限するものではない。
図3は、ユーザ・アプリケーションに含まれる照合要求コードを説明する図であり、図3(A)は既存の処理コードの一例を示し、図3(B)は照合要求コードが付加された処理コードの一例を示す。図4は、図3(B)の処理の手順を説明するフローチャートである。
<Verification request code>
Subsequently, a method of adding a collation request code to the user application 31 and designating the process to be collated will be described in order to perform the arithmetic collation process. The arithmetic collation process is a process in which the arithmetic collation module 415 collates whether or not an abnormal operation has occurred in the user application 31. The method of adding the collation request code described here is only an example and does not limit the present invention.
3A and 3B are diagrams for explaining a verification request code included in a user application, FIG. 3A shows an example of an existing processing code, and FIG. 3B shows a processing code to which a verification request code is added. An example is shown. FIG. 4 is a flowchart illustrating the procedure of the process of FIG. 3 (B).

ユーザ・アプリケーション31には、予め、照合対象の処理を指定するための照合要求コード50が付加される。照合要求コード50の付加は、例えば、図3(A)、(B)に示すように、ユーザ・アプリケーション31で定義された関数“func_D”を、照合要求付きの関数“func_D.inspect”に変更するなどして行う。ここで、関数とは、数学における関数を意味するのではなく、プログラミング言語における関数を意味し、引数を入力として所定の処理を行うようにプログラミングされた1単位の処理を指す。 A collation request code 50 for designating a process to be collated is added to the user application 31 in advance. To add the verification request code 50, for example, as shown in FIGS. 3A and 3B, the function "func_D" defined in the user application 31 is changed to the function "func_D.inspect" with the verification request. Do it by doing something like that. Here, the function does not mean a function in mathematics, but means a function in a programming language, and refers to a unit of processing programmed to perform a predetermined processing with an argument as an input.

照合要求付きの関数は、ユーザ・アプリケーション31の中で予め定義される。照合要求付きの関数では、元の関数の処理に加えて、仮想化部24へ照合要求を出力する処理と、正常の照合結果を待機する処理とが追加される。これらの処理は、元の関数処理を実行した後、関数の結果を返す前に追加される。図4のフローチャートを用いて具体例を説明する。この具体例の場合、図3(B)の照合要求付きの関数“func_D.inspect”は、元の関数“func_D”の処理(ステップS5)と、照合要求を出力する処理(ステップS6)と、照合結果を待機する処理(ステップS7)とを含んだ処理となる。仮想化部24へ出力される照合要求には、元の関数を表わすインデックス番号と、関数の引数であるパラメータ値と、元の関数により得られた結果とが含まれる。これらのうち、インデックス番号とパラメータ値とが、照合対象の処理を特定する特定情報に相当する。 The function with the collation request is predefined in the user application 31. In the function with the collation request, in addition to the processing of the original function, a process of outputting the collation request to the virtualization unit 24 and a process of waiting for a normal collation result are added. These processes are added after performing the original function process and before returning the result of the function. A specific example will be described with reference to the flowchart of FIG. In the case of this specific example, the function “func_D.inspect” with the collation request in FIG. 3 (B) includes the process of the original function “func_D” (step S5), the process of outputting the collation request (step S6), and the process. It is a process including a process of waiting for a collation result (step S7). The collation request output to the virtualization unit 24 includes an index number representing the original function, a parameter value as an argument of the function, and a result obtained by the original function. Of these, the index number and the parameter value correspond to specific information that specifies the process to be collated.

照合要求付きの関数の定義は、元の関数に対応する演算プログラムが予め演算プログラム格納部415aに格納されている場合に限られる。逆に言えば、演算プログラム格納部415aに格納される演算プログラムの種類を多くすれば、ユーザ・アプリケーション31中の多くの種類の関数について照合要求付き関数を定義し、ユーザ・アプリケーション31中の多くの処理について照合処理を行うことができる。
演算プログラム格納部415aには、複数種類の演算プログラムがインデックス番号に対応付けられて格納されている。任意のインデックス番号により識別される演算プログラムは、同一のインデックス番号により識別されるユーザ・アプリケーション31内の関数と同等の処理を行うように作成されている。
The definition of the function with the collation request is limited to the case where the arithmetic program corresponding to the original function is stored in the arithmetic program storage unit 415a in advance. Conversely, if the types of arithmetic programs stored in the arithmetic program storage unit 415a are increased, functions with matching requests are defined for many types of functions in the user application 31, and many in the user application 31. It is possible to perform collation processing for the processing of.
A plurality of types of arithmetic programs are stored in the arithmetic program storage unit 415a in association with the index number. The arithmetic program identified by an arbitrary index number is created so as to perform the same processing as the function in the user application 31 identified by the same index number.

なお、演算照合処理では、照合対象の処理の結果と、照合用処理の結果とを照合して異常動作の発生を検査する。従って、照合対象の処理として関数を採用する場合には、関数の結果(戻り値)が関数内の処理を反映して多くの異なる値を取り得る関数が採用されるとよい。
また、演算照合モジュール415は、演算プログラムによって、照合対象の処理と同等の処理を行って同一の結果を算出する必要がある。従って、照合対象の処理は、監視パーティション22からでも、ユーザ・アプリケーション31と同様に実行できる処理である必要がある。このような処理としては、例えばCPU11の演算処理、メモリ16上の非排他領域からデータを読み出す処理、及び通信装置19を用いた所定のデータ受信処理などを採用できる。また、このような処理ステップを組み合わせた一組の処理を採用できる。
In the arithmetic collation process, the result of the collation target process is collated with the result of the collation process to inspect the occurrence of abnormal operation. Therefore, when a function is adopted as the processing to be collated, it is preferable to adopt a function in which the result (return value) of the function reflects the processing in the function and can take many different values.
Further, the arithmetic collation module 415 needs to perform the same processing as the collation target processing by the arithmetic program and calculate the same result. Therefore, the process to be collated needs to be a process that can be executed from the monitoring partition 22 in the same manner as the user application 31. As such a process, for example, an arithmetic process of the CPU 11, a process of reading data from a non-exclusive area on the memory 16, a predetermined data reception process using the communication device 19, and the like can be adopted. Further, a set of processes in which such process steps are combined can be adopted.

<演算照合処理>
続いて、演算照合処理の全体の流れについてシーケンス図とフローチャートとを参照しながら説明する。
図5は、演算照合処理の正常時の流れの一例を示すシーケンス図である。図6は、演算照合処理の異常時の流れの一例を示すシーケンス図である。図7は、演算照合モジュールが実行する演算照合処理の手順の一例を示すフローチャートである。
<Calculation collation processing>
Subsequently, the entire flow of the arithmetic collation process will be described with reference to the sequence diagram and the flowchart.
FIG. 5 is a sequence diagram showing an example of the normal flow of arithmetic collation processing. FIG. 6 is a sequence diagram showing an example of the flow when the arithmetic collation process is abnormal. FIG. 7 is a flowchart showing an example of the procedure of the arithmetic collation processing executed by the arithmetic collation module.

図5と図6に示すように、情報処理装置1の動作中、CPU11がユーザ・アプリケーション31の照合要求付きの関数の処理(「情報処理P1」と記す)に処理を移行したとする。例えば、図3(B)の“processing_A”の処理の場合、CPU11がプロセスが照合要求付きの関数“func_D.inspect(L1,M1)”の処理へ移行した場合に該当する。また、図4のフローチャートの場合、照合要求の無いステップS1〜S4の処理の後、CPU11が照合要求付きの情報処理(ステップS5〜S9)へ処理を移行した場合に該当する。 As shown in FIGS. 5 and 6, it is assumed that the CPU 11 shifts the processing to the processing of the function with the collation request of the user application 31 (referred to as "information processing P1") while the information processing apparatus 1 is operating. For example, the process of "processing_A" in FIG. 3B corresponds to the case where the CPU 11 shifts to the process of the function "func_D.inspect (L1, M1)" with a collation request. Further, in the case of the flowchart of FIG. 4, it corresponds to the case where the CPU 11 shifts the processing to the information processing with the collation request (steps S5 to S9) after the processing of steps S1 to S4 without the collation request.

照合要求付きの情報処理P1では、先ず、ユーザ・アプリケーション31のプロセスにおいて、元の関数の処理が実行され(ステップS5)、その後、ゲストOS32を介して仮想化部24へ照合要求が出力される(ステップS6)。照合要求には、関数の種類を識別するためのインデックス番号と、関数の引数であるパラメータと、関数の結果とが含まれる。
図5と図6に示すように、照合要求は、仮想化部24から演算照合モジュール415に送られる。演算照合モジュール415は、図7に示すように、常時、照合要求を待機しており(ステップS11)、照合要求があると照合処理P2(ステップS12〜S15)を実行する。
In the information processing P1 with the collation request, first, the process of the original function is executed in the process of the user application 31 (step S5), and then the collation request is output to the virtualization unit 24 via the guest OS 32. (Step S6). The collation request includes an index number for identifying the type of function, parameters that are arguments of the function, and the result of the function.
As shown in FIGS. 5 and 6, the collation request is sent from the virtualization unit 24 to the arithmetic collation module 415. As shown in FIG. 7, the arithmetic collation module 415 always waits for a collation request (step S11), and executes the collation process P2 (steps S12 to S15) when there is a collation request.

照合処理P2では、先ず、演算照合モジュール415が、照合要求を入力し(ステップS12)、演算プログラム格納部415aからインデックス番号に対応する演算プログラムを読出す(ステップS13)。さらに、演算照合モジュール415は、パラメータを引数として演算プログラムを実行し(ステップS14)、結果を求め、演算プログラムの結果と照合要求に含まれる関数の結果とを照合する(ステップS15)。両者の結果が一致していれば正常の照合結果となり、両者の結果が不一致であれば異常の照合結果となる。 In the collation process P2, first, the arithmetic collation module 415 inputs a collation request (step S12), and reads the arithmetic program corresponding to the index number from the arithmetic program storage unit 415a (step S13). Further, the arithmetic collation module 415 executes an arithmetic program with parameters as arguments (step S14), obtains a result, and collates the result of the arithmetic program with the result of the function included in the collation request (step S15). If both results match, a normal collation result is obtained, and if both results do not match, an abnormal collation result is obtained.

図5に示すように、照合結果が正常の場合、演算照合モジュール415は、仮想化部24とゲストOS32とを介してユーザ・アプリケーション31のプロセスに正常の照合結果を戻す(ステップS16)。ユーザ・アプリケーション31のプロセスでは、CPU11が照合要求を出力した後、照合結果が戻るまで待機しており(図4のステップS7)、CPU11は正常の照合結果に基づいて続く情報処理P3を続行する(ステップS8、S9)。 As shown in FIG. 5, when the collation result is normal, the arithmetic collation module 415 returns the normal collation result to the process of the user application 31 via the virtualization unit 24 and the guest OS 32 (step S16). In the process of the user application 31, after the CPU 11 outputs the collation request, it waits until the collation result is returned (step S7 in FIG. 4), and the CPU 11 continues the subsequent information processing P3 based on the normal collation result. (Steps S8 and S9).

一方、図6に示すように、照合結果が異常の場合、演算照合モジュール415は、仮想化部24とゲストOS32とを介してユーザ・アプリケーション31のプロセスに異常の照合結果を戻す(ステップS17)。ユーザ・アプリケーション31のプロセスでは、照合結果の待機中(ステップS7)、異常の照合結果が戻された場合、続く情報処理は中断される。 On the other hand, as shown in FIG. 6, when the collation result is abnormal, the arithmetic collation module 415 returns the abnormal collation result to the process of the user application 31 via the virtualization unit 24 and the guest OS 32 (step S17). .. In the process of the user application 31, if the collation result is waiting (step S7) and the collation result of the abnormality is returned, the subsequent information processing is interrupted.

さらに、照合結果が異常の場合、演算照合モジュール415は、異常の照合結果に伴って例外を発生させ(ステップS18)、これにより状態監視モジュール416において例外処理が実行され、報知モジュール412へ異常表示要求が出される。報知モジュール412は、この要求に基づいて、表示装置17へ照合異常の表示を出力させる。このとき、仮に、ユーザ・アプリケーション31による画像が表示装置17に出力されていても、報知モジュール412の画像が上書きされて表示装置17に照合異常を示す表示が出力される。 Further, when the collation result is abnormal, the arithmetic collation module 415 generates an exception according to the collation result of the abnormality (step S18), whereby the exception processing is executed in the status monitoring module 416 and the abnormality is displayed to the notification module 412. A request is made. Based on this request, the notification module 412 causes the display device 17 to output a display of the collation abnormality. At this time, even if the image by the user application 31 is output to the display device 17, the image of the notification module 412 is overwritten and a display indicating a collation abnormality is output to the display device 17.

このような演算照合処理によれば、ユーザ・アプリケーション31上の複数の処理に照合要求を付加しておくことで、ユーザ・アプリケーション31の実行中、多くの処理で演算照合モジュール415により異常動作が生じていないか照合が行われる。そして、照合結果が異常である場合に、表示装置17に異常を知らせる表示が行われる。従って、例えば鉄道設備の保守作業を行う係員が、保守作業の支援を行うユーザ・アプリケーション31を1台の情報処理装置1で実行させて作業を行っていても、ユーザ・アプリケーション31に異常が発生した場合に、速やかにこの異常に気付くことができる。そして、係員はフェールセーフが実現されるように、その後に必要な措置をとることができる。 According to such an arithmetic collation process, by adding a collation request to a plurality of processes on the user application 31, abnormal operation is caused by the arithmetic collation module 415 in many processes during the execution of the user application 31. A check is made to see if it has occurred. Then, when the collation result is abnormal, the display device 17 is displayed to notify the abnormality. Therefore, for example, even if a person in charge of maintenance work of railway equipment executes the work by executing the user application 31 that supports the maintenance work on one information processing device 1, an abnormality occurs in the user application 31. If you do, you can quickly notice this anomaly. The clerk can then take the necessary steps to ensure fail-safe.

また、仮想化環境により、演算照合モジュール415は、ユーザ・アプリケーション31が実行されるゲストパーティション21と異なる監視パーティション22において実行される。このため、ゲストOS32の異常に起因してユーザ・アプリケーションに異常動作が生じた場合でも、ゲストOS32の異常が演算照合モジュール415に波及しない。従って、演算照合モジュール415は、高い信頼性を持ってユーザ・アプリケーション31の異常動作を検出することができる。 Further, depending on the virtual environment, the arithmetic collation module 415 is executed in the monitoring partition 22 different from the guest partition 21 in which the user application 31 is executed. Therefore, even if an abnormal operation occurs in the user application due to the abnormality of the guest OS 32, the abnormality of the guest OS 32 does not spread to the arithmetic collation module 415. Therefore, the arithmetic collation module 415 can detect the abnormal operation of the user application 31 with high reliability.

さらに、上記の演算照合処理では、ユーザ・アプリケーション31に照合対象の処理を指定するための照合要求コードを含ませることで、演算照合モジュール415に処理の照合を行わせることができる。従って、ゲストOS32上で動作する既存のユーザ・アプリケーションがある場合に、照合要求コードを付加すると言った少ない改変を行うだけで、既存のユーザ・アプリケーションを流用して、演算照合モジュール415による照合処理に対応させることができる。 Further, in the above arithmetic collation process, the arithmetic collation module 415 can be made to collate the process by including the collation request code for designating the process to be collated in the user application 31. Therefore, if there is an existing user application running on the guest OS 32, the existing user application can be diverted and the matching process by the arithmetic matching module 415 can be performed by making only a small modification such as adding a matching request code. Can be made to correspond to.

<動作確認処理>
次に、監視ソフトウェア41のキープ・アライブ・モジュール411によって実行される動作確認処理について説明する。上述した演算照合処理は、ユーザ・アプリケーション31のプロセスから照合要求が出力されて照合が行われる。このため、演算照合処理だけでは、ユーザ・アプリケーション31が途中で中断してしまうような異常動作の検出が難しくなる。そこで、このような異常動作の検出を速やかに行うために、情報処理装置1には動作確認処理を行う機能を備える。
<Operation check processing>
Next, the operation confirmation process executed by the keep-alive module 411 of the monitoring software 41 will be described. In the above-mentioned arithmetic collation process, a collation request is output from the process of the user application 31 and collation is performed. Therefore, it is difficult to detect an abnormal operation in which the user application 31 is interrupted in the middle only by the arithmetic collation process. Therefore, in order to promptly detect such an abnormal operation, the information processing device 1 is provided with a function of performing an operation confirmation process.

図8は、動作確認処理の流れの一例を示すシーケンス図である。
動作確認処理は、主に、キープ・アライブ・モジュール411により実行される。動作確認処理においては、キープ・アライブ・モジュール411は定期的にユーザ・アプリケーション31のプロセスへ問い合わせを行う。問い合わせは、仮想化部24及びゲストOS32を介して送られる。ユーザ・アプリケーション31のプロセスにおいては、CPU11は、フリーズなどの動作の中断がなければ、問い合わせに応答を行う。応答は、ゲストOS32及び仮想化部24を介してキープ・アライブ・モジュール411に戻される。キープ・アライブ・モジュール411は、問い合わせの後、応答が返されるまでの時間計測P5を行い、所定時間内に応答があれば正常と判定する。正常の判定であれば、キープ・アライブ・モジュール411は、定期的な問い合わせを続行する。
FIG. 8 is a sequence diagram showing an example of the flow of the operation confirmation process.
The operation confirmation process is mainly executed by the keep-alive module 411. In the operation check process, the keep-alive module 411 periodically inquires to the process of the user application 31. The inquiry is sent via the virtualization unit 24 and the guest OS 32. In the process of the user application 31, the CPU 11 responds to an inquiry if there is no interruption of operation such as a freeze. The response is returned to the keep-alive module 411 via the guest OS 32 and the virtualization unit 24. The keep-alive module 411 performs time measurement P5 until a response is returned after the inquiry, and determines that the response is normal if there is a response within a predetermined time. If the determination is normal, the keep-alive module 411 continues the periodic inquiry.

一方、図8の時間計測P6のように、問い合わせの後、所定時間内に応答が無いと、キープ・アライブ・モジュール411は、異常と判定し、ゲストパーティションの停止要求を仮想化部24に行い、さらに報知モジュール412へ表示要求を行う。これらにより、仮想化部24は、ゲストパーティション21へのハードウェア・リソースの割り当てを中止し、ゲストOS32とユーザ・アプリケーション31との動作が中断される。さらに、報知モジュール412から表示装置17へ表示データが出力され、表示装置17から「アプリケーション異常」などの異常を知らせる表示が出力される。このとき、仮に、ユーザ・アプリケーション31による画像が表示装置17に出力されていても、報知モジュール412の画像が上書きされて表示装置17に照合異常を示す表示が出力される。 On the other hand, as in the time measurement P6 of FIG. 8, if there is no response within a predetermined time after the inquiry, the keep-alive module 411 determines that it is abnormal and requests the virtualization unit 24 to stop the guest partition. Further, a display request is made to the notification module 412. As a result, the virtualization unit 24 stops allocating the hardware resource to the guest partition 21, and the operation of the guest OS 32 and the user application 31 is interrupted. Further, display data is output from the notification module 412 to the display device 17, and a display notifying the abnormality such as "application abnormality" is output from the display device 17. At this time, even if the image by the user application 31 is output to the display device 17, the image of the notification module 412 is overwritten and a display indicating a collation abnormality is output to the display device 17.

動作確認処理では、ユーザ・アプリケーション31のプロセスにおいて、CPU11が、仮想化部24を介して入力される問い合わせに応答する処理を行う。このような処理は、通常、物理マシンのゲストOS上で動作する既存のアプリケーションには含まれていない。従って、既存のアプリケーションを流用してユーザ・アプリケーション31を作成する場合には、既存のアプリケーションを動作確認処理に対応させる改変が必要となる。 In the operation confirmation process, in the process of the user application 31, the CPU 11 performs a process of responding to an inquiry input via the virtualization unit 24. Such processing is usually not included in existing applications running on the guest OS of the physical machine. Therefore, when the user application 31 is created by diverting the existing application, it is necessary to modify the existing application to correspond to the operation confirmation process.

ゲストOS32は、ハードウェアからのメッセージ(例えばタッチパネル18の入力情報など)又は他のプロセスからのメッセージを、アプリケーションのプロセスへ伝えるためにメッセージキューと呼ばれる機構を備える。また、ゲストOS32上で動作するアプリケーションは、メッセージキューに対応したメッセージ処理を備える。メッセージキューは、アプリケーションに送られる複数のメッセージが集められて順番に蓄積される機構であり、メッセージ処理は、メッセージキューから順番にメッセージを読み出して、メッセージに対応した処理へ振ら分けを行う処理である。 The guest OS 32 includes a mechanism called a message queue for transmitting a message from hardware (for example, input information of the touch panel 18) or a message from another process to an application process. Further, the application running on the guest OS 32 includes message processing corresponding to the message queue. The message queue is a mechanism that collects multiple messages sent to the application and accumulates them in order. Message processing is a process that reads messages in order from the message queue and distributes them to the processes corresponding to the messages. be.

本実施形態の動作確認処理では、問い合わせはゲストOS32のメッセージキューを介して行われる。すなわち、仮想マシン33は、仮想化部24から問い合わせが送られてくると、この問い合わせをメッセージとしてゲストOS32のメッセージキューへ送る。また、応答は、ユーザ・アプリケーション31のメッセージ処理を用いて行われる。
図9は、動作確認処理の問い合わせに対して応答を行うユーザ・アプリケーションのメッセージ処理の一例を示すフローチャートである。
In the operation confirmation process of the present embodiment, the inquiry is made via the message queue of the guest OS 32. That is, when an inquiry is sent from the virtualization unit 24, the virtual machine 33 sends this inquiry as a message to the message queue of the guest OS 32. Further, the response is performed by using the message processing of the user application 31.
FIG. 9 is a flowchart showing an example of message processing of a user application that responds to an inquiry for operation confirmation processing.

ユーザ・アプリケーション31のメッセージ処理には、図9に示すように、メッセージが、動作確認処理の問い合わせであるか否かを判別する処理(ステップS22)が追加される。さらに、問い合わせである場合に応答をゲストOS32を介して仮想化部24へ送る処理(ステップS23)が追加される。メッセージキューから順にメッセージを読み出す処理(ステップS21)と、他のメッセージの判別及び他のメッセージに応じた処理(ステップS24〜S24n、S25〜S25n)とは、既存のものが流用される。
このような仮想マシン33とユーザ・アプリケーション31の構成により、図8に示した動作確認処理が実現される。
As shown in FIG. 9, a process (step S22) for determining whether or not the message is an inquiry for the operation confirmation process is added to the message process of the user application 31. Further, a process (step S23) of sending a response to the virtualization unit 24 via the guest OS 32 in the case of an inquiry is added. As the process of reading messages in order from the message queue (step S21) and the process of discriminating other messages and processing according to other messages (steps S24 to S24n, S25 to S25n), existing ones are diverted.
With such a configuration of the virtual machine 33 and the user application 31, the operation confirmation process shown in FIG. 8 is realized.

上述した動作確認処理によれば、ユーザ・アプリケーション31がフリーズして動作を停止させてしまうような異常が生じた場合に、このような異常を速やかに発見して、表示装置17に異常動作の発生を知らせる表示を出力させることができる。従って、情報処理装置1を利用する係員は、異常動作の発生に速やかに気付いて、フェールセーフを実現する措置をとることができる。また、キープ・アライブ・モジュール411は、ユーザ・アプリケーション31が動作するゲストパーティション21と異なる監視パーティション22で実行される。従って、例えばゲストOS32の異常に起因してユーザ・アプリケーション31が停止してしまうような場合でも、ゲストOS32の異常がキープ・アライブ・モジュール411に波及することがない。従って、高い信頼性を持ってユーザ・アプリケーション31の動作確認を遂行できる。 According to the operation confirmation process described above, when an abnormality occurs in which the user application 31 freezes and stops the operation, such an abnormality is promptly detected and the display device 17 is subjected to the abnormal operation. It is possible to output a display notifying the occurrence. Therefore, the person in charge of using the information processing device 1 can promptly notice the occurrence of the abnormal operation and take measures to realize fail-safe. Further, the keep-alive module 411 is executed in the monitoring partition 22 different from the guest partition 21 in which the user application 31 operates. Therefore, for example, even if the user application 31 is stopped due to an abnormality in the guest OS 32, the abnormality in the guest OS 32 does not spread to the keep-alive module 411. Therefore, the operation check of the user application 31 can be performed with high reliability.

以上、本発明の各実施の形態について説明したが、本発明は上記の実施の形態に限られるものではない。例えば、上記実施形態では、監視ソフトウェア41は、ユーザ・アプリケーション31の動作異常が確認された場合に、報知モジュール412によって情報処理装置1の使用者に異常を報知する構成を例にとって説明した。しかし、監視ソフトウェア41に、フェールセーフを実現するための処理を行う機能モジュールを設け、監視ソフトウェア41は、動作異常が確認された場合に、上記の機能モジュールを駆動する構成を採用してもよい。また、上記実施形態では、ユーザ・アプリケーション31に含まれる関数を照合対象の処理の一例として示したが、関数の形式に限られず、ユーザ・アプリケーション31中の一連の処理ステップを照合対象の処理として指定する構成が採用されてもよい。また、上記実施の形態では、ユーザ・アプリケーション31の照合対象の処理と、演算照合モジュール415が実行する照合用処理とが異なるアルゴリズムを有すると説明した。しかし、これらは同一のアルゴリズムを有する構成としてもよい。また、仮想化部は、ハイパーバイザー型であっても、ホストOS型であってもよい。その他、実施の形態で示した細部は、発明の趣旨を逸脱しない範囲で適宜変更可能である。 Although each embodiment of the present invention has been described above, the present invention is not limited to the above-described embodiment. For example, in the above embodiment, the monitoring software 41 has been described by taking as an example a configuration in which the notification module 412 notifies the user of the information processing apparatus 1 of an abnormality when an operation abnormality of the user application 31 is confirmed. However, the monitoring software 41 may be provided with a function module that performs processing for realizing fail-safe, and the monitoring software 41 may adopt a configuration that drives the above-mentioned function module when an operation abnormality is confirmed. .. Further, in the above embodiment, the function included in the user application 31 is shown as an example of the processing to be collated, but the form is not limited to the function, and a series of processing steps in the user application 31 is used as the processing to be collated. The specified configuration may be adopted. Further, it has been explained that in the above embodiment, the processing of the collation target of the user application 31 and the collation processing executed by the arithmetic collation module 415 have different algorithms. However, these may be configured to have the same algorithm. Further, the virtualization unit may be a hypervisor type or a host OS type. In addition, the details shown in the embodiments can be appropriately changed without departing from the spirit of the invention.

1 情報処理装置
11 CPU
12 不揮発性メモリ
13 仮想化OSプログラム
14 仮想マシン記憶部
15 監視パーティション記憶部
16 メモリ
17 表示装置
18 タッチパネル
19 通信装置
21 ゲストパーティション(第1論理パーティション)
22 監視パーティション(第2論理パーティション)
23 システムパーティション
25 ハードウェア・リソース
31 ユーザ・アプリケーション
32 ゲストOS
33 仮想マシン
32a ゲストOSプログラム
41 監視ソフトウェア
42 高信頼型アプリケーション・インタフェース
51 サービス・ソフトウェア
52 仮想化部インタフェース
411 キープ・アライブ・モジュール(動作確認モジュール)
412 報知モジュール
413 診断モジュール
414 ロギングモジュール
415 演算照合モジュール
415a 演算プログラム格納部
416 状態監視モジュール
1 Information processing device 11 CPU
12 Non-volatile memory 13 Virtualization OS program 14 Virtual machine storage 15 Monitoring partition storage 16 Memory 17 Display device 18 Touch panel 19 Communication device 21 Guest partition (first logical partition)
22 Monitoring partition (second logical partition)
23 System partition 25 Hardware resources 31 User application 32 Guest OS
33 Virtual machine 32a Guest OS program 41 Monitoring software 42 Highly reliable application interface 51 Service software 52 Virtualization unit interface 411 Keep alive module (operation check module)
412 Notification module 413 Diagnosis module 414 Logging module 415 Arithmetic verification module 415a Arithmetic program storage unit 416 Condition monitoring module

Claims (5)

中央演算処理装置、メモリ及び表示装置を含むハードウェアと、
前記ハードウェアのリソースを複数に分割した第1論理パーティションと第2論理パーティションとを含む複数の論理パーティションを管理する仮想化部と、
ユーザ・アプリケーションがゲストOSを介して稼動され、前記第1論理パーティションで動作する仮想マシンと、
前記第2論理パーティションで動作し、前記ユーザ・アプリケーション内の照合対象の処理の照合を行う演算照合モジュールと、
を備え、
前記ユーザ・アプリケーションは、前記照合対象の処理を指定するための照合要求コードを含み、
前記仮想マシンは、前記照合対象の処理が実行される際、前記照合要求コードに基づいて、照合要求、前記照合対象の処理を特定する特定情報、及び前記照合対象の処理の結果を、前記ゲストOSから前記仮想化部へ送る機能を有し、
前記演算照合モジュールは、前記仮想化部から受けた前記照合要求に基づいて、前記特定情報により特定されかつ前記照合対象の処理に相当する照合用処理を実行し、前記照合用処理の結果と前記照合対象の処理の結果とを照合することを特徴とする情報処理装置。
Hardware including central processing unit, memory and display device,
A virtualization unit that manages a plurality of logical partitions including a first logical partition and a second logical partition in which the hardware resources are divided into a plurality of partitions, and a virtualization unit.
A virtual machine in which the user application is run via the guest OS and runs in the first logical partition,
An arithmetic collation module that operates in the second logical partition and collates the processing of the collation target in the user application.
With
The user application includes a collation request code for designating the process to be collated.
When the process of the collation target is executed, the virtual machine obtains the collation request, the specific information that identifies the process of the collation target, and the result of the process of the collation target based on the collation request code. It has a function to send from the OS to the virtualization unit.
Based on the collation request received from the virtualization unit, the arithmetic collation module executes a collation process specified by the specific information and corresponding to the process of the collation target, and the result of the collation process and the collation process are described. An information processing device characterized in that it collates with the result of processing to be collated.
複数種類の演算プログラムが前記演算照合モジュールにより読出し可能に格納された演算プログラム格納部をさらに備え、
前記演算照合モジュールは、前記演算プログラム格納部に格納された複数種類の演算プログラムの中から前記特定情報により特定される演算プログラムを用いて前記照合用処理を実行することを特徴とする請求項1記載の情報処理装置。
Further, an arithmetic program storage unit in which a plurality of types of arithmetic programs are readable by the arithmetic collation module is provided.
The operation collation module is characterized in that the collation process is executed by using the operation program specified by the specific information from among a plurality of types of operation programs stored in the operation program storage unit. The information processing device described.
前記照合用処理は、前記照合対象の処理と異なるアルゴリズムを有することを特徴とする請求項1又は請求項2に記載の情報処理装置。 The information processing apparatus according to claim 1 or 2, wherein the collation process has an algorithm different from that of the collation target process. 前記第2論理パーティションで動作し、前記演算照合モジュールによる照合の結果が異常である場合に、前記ハードウェアを用いて異常を報知する報知モジュールを備えることを特徴とする請求項1から請求項3のいずれか一項に記載の情報処理装置。 Claims 1 to 3 include a notification module that operates in the second logical partition and notifies the abnormality by using the hardware when the result of the collation by the arithmetic collation module is abnormal. The information processing apparatus according to any one of the above. 前記第2論理パーティションで動作し、前記ユーザ・アプリケーションの動作確認を繰り返し行う動作確認モジュールをさらに備えることを特徴とする請求項1から請求項4のいずれか一項に記載の情報処理装置。 The information processing apparatus according to any one of claims 1 to 4, further comprising an operation confirmation module that operates in the second logical partition and repeatedly confirms the operation of the user application.
JP2017058308A 2017-03-24 2017-03-24 Information processing device Active JP6944799B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017058308A JP6944799B2 (en) 2017-03-24 2017-03-24 Information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017058308A JP6944799B2 (en) 2017-03-24 2017-03-24 Information processing device

Publications (2)

Publication Number Publication Date
JP2018160197A JP2018160197A (en) 2018-10-11
JP6944799B2 true JP6944799B2 (en) 2021-10-06

Family

ID=63795603

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017058308A Active JP6944799B2 (en) 2017-03-24 2017-03-24 Information processing device

Country Status (1)

Country Link
JP (1) JP6944799B2 (en)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4853717B2 (en) * 2007-02-23 2012-01-11 日本電気株式会社 Server migration plan creation system, server migration plan creation method
JP5428075B2 (en) * 2009-04-17 2014-02-26 株式会社日立製作所 Performance monitoring system, bottleneck determination method and management computer
JP5378946B2 (en) * 2009-10-26 2013-12-25 株式会社日立製作所 Server management apparatus and server management method
JP5537140B2 (en) * 2009-12-11 2014-07-02 株式会社東芝 SAFETY CONTROL DEVICE AND SAFETY CONTROL PROGRAM
JP5712243B2 (en) * 2013-03-29 2015-05-07 グリー株式会社 Monitoring processing method, monitoring processing apparatus and monitoring processing system
JP6337676B2 (en) * 2014-07-29 2018-06-06 富士通株式会社 Information processing system and method

Also Published As

Publication number Publication date
JP2018160197A (en) 2018-10-11

Similar Documents

Publication Publication Date Title
KR101888029B1 (en) Method and system for monitoring virtual machine cluster
CN103201724B (en) Providing application high availability in highly-available virtual machine environments
US8595564B2 (en) Artifact-based software failure detection
US20140208166A1 (en) Health monitoring of applications in a guest partition
US20100162042A1 (en) Multiprocessor system and control method thereof
EP2518627B1 (en) Partial fault processing method in computer system
US10102088B2 (en) Cluster system, server device, cluster system management method, and computer-readable recording medium
EP3301576A1 (en) Method and apparatus for monitoring logs of multi-tenant systems
CN111611086A (en) Information processing method, information processing apparatus, electronic device, and medium
US9811411B2 (en) Management apparatus, method and program
JP6504610B2 (en) Processing device, method and program
JP6944799B2 (en) Information processing device
JP2020038506A (en) Information processing system, information processing method, and program
JP4495248B2 (en) Information processing apparatus and failure processing method
US10089200B2 (en) Computer apparatus and computer mechanism
JP2006252429A (en) Computer system, diagnostic method of computer system and control program of computer system
JP6944252B2 (en) Information processing device
WO2018173698A1 (en) Monitoring system, computer-readable storage medium, and monitoring method
JP4633553B2 (en) Debug system, debugging method and program
CN114257597B (en) Concurrent control method, device, equipment and medium for function calculation
JP5806987B2 (en) Computer and its fault processing method and program
JP2002351855A (en) Computer abnormality handling system, computer abnormality handling method, computer abnormality handling program running on computer and computer abnormality handling program stored in machine readable storage medium
JP6896035B2 (en) Monitoring system, monitoring SaaS provider, management device, and program
JP5997005B2 (en) Information processing apparatus, process normal end determination method, and program
US11652683B2 (en) Failure notification system, failure notification method, failure notification device, and failure notification program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210209

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210913

R150 Certificate of patent or registration of utility model

Ref document number: 6944799

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150