JP2015082197A - Computer system and computer system processing method - Google Patents

Computer system and computer system processing method Download PDF

Info

Publication number
JP2015082197A
JP2015082197A JP2013219543A JP2013219543A JP2015082197A JP 2015082197 A JP2015082197 A JP 2015082197A JP 2013219543 A JP2013219543 A JP 2013219543A JP 2013219543 A JP2013219543 A JP 2013219543A JP 2015082197 A JP2015082197 A JP 2015082197A
Authority
JP
Japan
Prior art keywords
data
processing
computer
computer system
format
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.)
Pending
Application number
JP2013219543A
Other languages
Japanese (ja)
Inventor
雅徳 吉田
Masanori Yoshida
雅徳 吉田
崇博 大平
Takahiro Ohira
崇博 大平
訓 大島
Satoshi Oshima
訓 大島
拓 下沢
Taku Shimosawa
拓 下沢
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2013219543A priority Critical patent/JP2015082197A/en
Publication of JP2015082197A publication Critical patent/JP2015082197A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a function to resume processing of a copy destination computer synchronously with a copy source computer in a computer system configured by a plurality of computers different in OS, CPU, and the like.SOLUTION: A computer system includes: a plurality of processing computers 11 and 12 performing processing on data in different forms, respectively; and a management computer. The processing computers 11 and 12 include: processing units 211 and 221 each generating data indicating a midway result of the processing and executing next processing; storage units 220 and 230 each storing therein the data on the midway result; conversion units 212 and 222 each converting the stored data to data in a preset form; transfer units 215 and 225 each outputting the data in the preset form to the other processing computer 11 or 12; and communication units each outputting a result of the processing to the management computer, respectively. The management computer compares the results of the processing input from the processing computers with each other, and outputs the result of the processing having most matching items to the computer system.

Description

本発明は計算機システムに関するものである。   The present invention relates to a computer system.

社会インフラの制御などへ計算機の利用が進み、計算機の障害は重大な影響をもたらすため、計算機の信頼性の確保は重要な課題である。複数の計算機により障害をカバーし合い、障害の発生した計算機を交換などして処理を継続する計算機システムも普及している。   Ensuring the reliability of computers is an important issue because the use of computers has progressed to control social infrastructure, and computer failures have a significant impact. A computer system that covers a failure by a plurality of computers and continues processing by exchanging the computer in which the failure has occurred is also widespread.

例えば、特許文献1には、FTCシステム(Fault Tolerant Computer System)において、稼働中の計算機は無停止、処理継続のまま、該稼働中の計算機の有するメモリデータを他の計算機に一致させるために、稼働中のコピー元計算機のある時点でのメモリの全データのスナップショットを取得し、スナップショットのデータを障害により交換などされたコピー先計算機のメモリへ書込み、コピー先計算機の処理を該コピー元計算機と同期をとって再開することが開示されている。   For example, in Patent Document 1, in an FTC system (Fault Tolerant Computer System), in order to match the memory data of the operating computer with another computer while the operating computer is not stopped and the processing is continued, Take a snapshot of all the data in the memory at a certain point in the active copy source computer, write the snapshot data to the memory of the copy destination computer that has been replaced due to a failure, and perform the processing of the copy destination computer. It is disclosed to resume in synchronization with a computer.

特開2012−208964号公報JP 2012-208964 A

特許文献1に開示された技術によれば、同じ構成の複数の計算機によりFTCシステムを構成することができる。しかし、OS(Operating System)、CPU(Central Processing Unit)などの構成の異なる複数の計算機ではスナップショットのデータをコピー先計算機のメモリへ書き込んでも、OS、CPUなどが異なることにより、コピー元計算機で用いられるエンディアン、ビット数、構造体構成などで規定されるデータ形式が、コピー先計算機のデータ形式と異なり、コピー先計算機の処理を再開できない可能性がある。   According to the technique disclosed in Patent Document 1, an FTC system can be configured by a plurality of computers having the same configuration. However, on multiple computers with different configurations, such as OS (Operating System) and CPU (Central Processing Unit), even if the snapshot data is written to the memory of the copy destination computer, the copy source computer has different OS and CPU. Unlike the data format of the copy destination computer, the data format specified by the endian used, the number of bits, the structure configuration, and the like may not be able to resume the processing of the copy destination computer.

本発明の目的は、異なるOSまたはCPUなどをそれぞれ用いた複数の計算機により構成された計算機システムにおいて、データをコピーし、コピー先計算機の処理をコピー元計算機と同期をとって再開することにある。   An object of the present invention is to copy data in a computer system configured by a plurality of computers using different OSs or CPUs, respectively, and resume the processing of the copy destination computer in synchronization with the copy source computer. .

本発明にかかる計算機システムは、異なる形式のデータを処理する複数の処理計算機と管理計算機とから構成された計算機システムであって、前記処理計算機のそれぞれは、前記処理の途中結果のデータを生成し、前記途中結果のデータに基づいて次の処理を実行する処理部と、前記途中結果のデータを前記処理部で処理可能な形式で記憶する記憶部と、前記記憶されたデータを予め定められた形式のデータへ変換し、前記予め定められた形式のデータを前記記憶部に記憶する形式のデータへ変換する変換部と、前記予め定められた形式のデータを他の前記処理計算機へ出力し、前記他の処理計算機から入力する転送部と、前記処理の結果を前記管理計算機へ出力する通信部と、
を備え、前記計算機システムへ追加された第1の前記処理計算機は、既に前記計算機システムに存在する第2の前記処理計算機から前記予め定められた形式のデータを前記転送部で入力し、当該入力したデータを前記変換部にて前記処理部で処理可能な形式のデータへ変換し、当該変換したデータを前記記憶部へ記憶し、当該記憶したデータに基づいて次の処理を実行し、当該実行を含む前記処理の結果を前記管理計算機へ出力し、前記管理計算機は、前記第1の処理計算機と前記第2の処理計算機を含む複数の前記処理計算機それぞれから入力した前記処理の結果を比較し、最も一致する数の多い前記処理の結果を前記計算機システムの外部へ出力すること、を特徴とする。
A computer system according to the present invention is a computer system composed of a plurality of processing computers that process data of different formats and a management computer, and each of the processing computers generates data as an intermediate result of the processing. A processing unit that executes the next process based on the intermediate result data; a storage unit that stores the intermediate result data in a format that can be processed by the processing unit; and the stored data is predetermined. Converting the data into a format, converting the data in the predetermined format into data in a format stored in the storage unit, and outputting the data in the predetermined format to the other processing computer, A transfer unit that inputs from the other processing computer, a communication unit that outputs a result of the processing to the management computer,
The first processing computer added to the computer system inputs the data in the predetermined format from the second processing computer already existing in the computer system by the transfer unit, and the input The converted data is converted into data in a format that can be processed by the processing unit in the conversion unit, the converted data is stored in the storage unit, the next processing is executed based on the stored data, and the execution The result of the processing including the output is output to the management computer, and the management computer compares the result of the processing input from each of the plurality of processing computers including the first processing computer and the second processing computer. And outputting the result of the processing with the largest number of matches to the outside of the computer system.

また、本発明は計算機システムの処理方法としても把握される。   The present invention is also grasped as a processing method of a computer system.

本発明によれば、異なるOSまたはCPUなどをそれぞれ用いたことにより異なる形式のデータを処理する複数の処理計算機で計算機システムを構成しても、複数の処理計算機間で形式を変換してデータをコピーすることにより、同期をとって再開することを可能にする。   According to the present invention, even if a computer system is configured with a plurality of processing computers that process different types of data by using different OSs or CPUs, the data is converted between the plurality of processing computers. By copying, it is possible to resume in synchronization.

複数の計算装置を含むFTCシステムの構成の例を示す図である。It is a figure which shows the example of a structure of the FTC system containing a some calculation apparatus. 計算装置のモジュール構成の例を示す図である。It is a figure which shows the example of the module structure of a calculation apparatus. アプリケーションを再開するまでの処理シーケンスの例を示す図である。It is a figure which shows the example of the processing sequence until it restarts an application. メモリ割り当て処理フローと登録される変数テーブルの例を示す図である。It is a figure which shows the example of the variable table registered with a memory allocation process flow. ページテーブルの例を示す図である。It is a figure which shows the example of a page table. メモリ更新の処理シーケンスの例を示す図である。It is a figure which shows the example of a processing sequence of memory update. データ更新検出・データ形式変換の処理シーケンスの例を示す図である。It is a figure which shows the example of the process sequence of a data update detection and data format conversion. 更新データ転送・更新データ書き込みの処理シーケンスの例を示す図である。It is a figure which shows the example of a processing sequence of update data transfer and update data writing. アプリケーション再開後データアクセスの処理シーケンスの例を示す図である。It is a figure which shows the example of the processing sequence of the data access after application resumption. アプリケーションを再開するまでの処理シーケンスの別の例を示す図である。It is a figure which shows another example of the processing sequence until it restarts an application. データ更新検出・データ形式変換の処理シーケンスの別の例を示す図である。It is a figure which shows another example of the process sequence of data update detection and data format conversion.

以下、図面を用いて好ましいFTCシステムの実施例を説明する。   Hereinafter, preferred embodiments of the FTC system will be described with reference to the drawings.

図1は異なるCPUやOSを採用した複数の計算装置から構成され、構成する各計算装置において同じ処理を並列実行させることによる、FTCシステムの構成の例を示す図である。以下では主にデータの転送について説明するため、例として、2台の計算装置A 11及び計算装置B 12から成るFTCシステム10について説明するが、計算装置の台数はシステムの要求に合わせて増加させることが可能であり、各計算装置の処理結果の多数決をとる場合は3台以上としてもよい。FTCシステム10の主な構成要素は、内部ネットワーク13を介して相互接続する計算装置A 11と計算装置B 12、外部ネットワーク15に接続し外部システム16との通信の中継を行うゲートウェイサーバ14などである。   FIG. 1 is a diagram showing an example of the configuration of an FTC system that is composed of a plurality of computing devices adopting different CPUs and OSs, and by executing the same processing in parallel in each of the constituting computing devices. In the following, the FTC system 10 including two computing devices A 11 and B 12 will be described as an example mainly to explain data transfer. However, the number of computing devices is increased in accordance with system requirements. If the majority of the processing results of each computing device is taken, three or more may be used. The main components of the FTC system 10 are a computing device A 11 and a computing device B 12, which are interconnected via the internal network 13, and a gateway server 14 which is connected to the external network 15 and relays communication with the external system 16. is there.

FTCシステム10は、外部ネットワーク15を介して外部システム16からの要求を受け付けて、該要求に対する処理を実施し、処理結果を該外部システム16へ返信することにより、サービスを提供する。FTCシステム10の内部では、ゲートウェイサーバ14が外部システム16からの要求を受信し、内部ネットワーク13を介して計算装置A 11と計算装置B 12へ該要求を転送する。該要求を受け取った計算装置A 11と計算装置B 12では、該要求に対する処理をそれぞれ実施し、処理結果を内部ネットワーク13経由でゲートウェイサーバ14へそれぞれ送信する。ゲートウェイサーバ14は計算装置A 11と計算装置B 12から受信した処理結果から、要求元の外部システム16に対する応答を作成し、外部ネットワーク15を介して外部システム16へ送信する。この際、ゲートウェイサーバ14は計算装置A 11と計算装置B 12から受信した処理結果同士を比較照合、正誤判定などを行う。ここで、計算装置が3台以上の場合は、多数決などにより最も確からしい処理結果を外部システム16へ送信してもよい。   The FTC system 10 provides a service by receiving a request from the external system 16 via the external network 15, performing processing for the request, and returning a processing result to the external system 16. Inside the FTC system 10, the gateway server 14 receives a request from the external system 16, and transfers the request to the computing device A 11 and the computing device B 12 via the internal network 13. Receiving the request, the computing device A 11 and the computing device B 12 each execute processing for the request, and transmit the processing result to the gateway server 14 via the internal network 13. The gateway server 14 creates a response to the requesting external system 16 from the processing results received from the computing devices A 11 and B 12 and transmits the response to the external system 16 via the external network 15. At this time, the gateway server 14 performs comparison and collation, correctness determination, and the like on the processing results received from the calculation device A11 and the calculation device B12. Here, when there are three or more computing devices, the most probable processing result may be transmitted to the external system 16 by majority vote or the like.

ここで、例えばFTCシステム10は外部システム16を制御する制御システムであり、外部システム16からの要求は測定された入力データであり、外部システム16に対する応答となる処理結果は外部システム16に対する制御データであってもよい。また、ゲートウェイサーバ14は複数の計算装置に対して上記のとおり動作するため、複数の計算装置の管理計算機でもある。   Here, for example, the FTC system 10 is a control system that controls the external system 16, the request from the external system 16 is measured input data, and the processing result that is a response to the external system 16 is the control data for the external system 16. It may be. Further, since the gateway server 14 operates on a plurality of computing devices as described above, it is also a management computer for the plurality of computing devices.

計算装置A 11と計算装置B 12の主なハードウェア構成は、CPU、記憶装置(メモリ、ハードディスク)、通信装置などである。記憶装置には、処理要求に対する処理を実行するアプリケーションのプログラム及びデータ、アプリケーションが動作するために必要な基本的機能を提供するライブラリ及びOSなどが格納される。アプリケーションによる処理結果は通信装置により内部ネットワーク13を介してゲートウェイサーバ14へ送信される。   The main hardware configurations of the computing device A 11 and the computing device B 12 are a CPU, a storage device (memory, hard disk), a communication device, and the like. The storage device stores a program and data of an application that executes processing in response to a processing request, a library and an OS that provide basic functions necessary for the application to operate. The processing result by the application is transmitted to the gateway server 14 via the internal network 13 by the communication device.

FTCシステム10では、計算装置A 11と計算装置B 12のそれぞれにおいて、異なる種類のCPUやOSが適用されていてもよい。アプリケーションは、計算装置A 11と計算装置B 12のそれぞれにおいて、同一の処理内容を同一の処理順序で実行する。外部システム16からの同一の要求に対して複数の計算装置で並行処理することで、1つ以上の計算装置で障害が発生した場合でも、残りの計算装置が稼働を継続することで、システムとして正常なサービス提供を中断することなく継続でき、システムの耐障害性、信頼性を高めている。   In the FTC system 10, different types of CPUs and OSs may be applied to each of the computing device A 11 and the computing device B 12. The application executes the same processing content in the same processing order in each of the computing device A 11 and the computing device B 12. By processing in parallel with multiple computing devices in response to the same request from the external system 16, even if a failure occurs in one or more computing devices, the remaining computing devices continue to operate as a system Normal service provision can be continued without interruption, improving the fault tolerance and reliability of the system.

さらに、FTCシステム10では、1つ以上の計算装置が計算装置間の並行処理から外れた後で、修理、交換などを施した該計算装置へ、並行処理を継続中の他の計算装置から、アプリケーションのデータをコピーして一致化することにより、元の全計算装置による並行処理状態を回復する計算装置再組込みの機能を備える。   Further, in the FTC system 10, after one or more computing devices are removed from the parallel processing between the computing devices, the other computing devices that are continuing the parallel processing to the computing device that has undergone repair, replacement, etc. By copying and matching application data, it has a function of re-computing a computing device to recover the parallel processing state of all original computing devices.

図2はFTCシステムを構成する計算装置の機能的なモジュール構成の例を示す図である。ここでは後のデータ転送の説明のために、計算装置A 11と計算装置B 12の例を示すが、3台以上の計算装置においても同じ構成である。計算装置A 11の構成要素としては、外部システムからの要求に対して処理を行うアプリケーションを実行するアプリケーション実行部211、アプリケーションが処理実行中に使用するデータを格納するメモリ213、メモリ213に格納されたデータが計算装置毎のCPU、OSなどの種類に依存した形式になっているのに対してCPU、OSなどの種類に依存せずに任意の計算装置で解釈可能な環境非依存形式に変換されたデータを格納する環境非依存形式データストア214、メモリ213へアプリケーションが書き込んだデータを読込み、環境非依存形式へデータを変換して環境非依存形式データストア214へ格納し、計算装置再組込み処理の際は、該環境非依存形式データを計算装置A 11から計算装置B 12へ送信するなどの処理を実行するデータ管理部212を含む。   FIG. 2 is a diagram showing an example of a functional module configuration of a computing device constituting the FTC system. Here, an example of the calculation device A 11 and the calculation device B 12 is shown for the purpose of explaining data transfer later, but the configuration is the same in three or more calculation devices. The components of the computing device A 11 are stored in an application execution unit 211 that executes an application that performs processing in response to a request from an external system, a memory 213 that stores data used by the application during processing, and a memory 213. Data is in a format that depends on the type of CPU, OS, etc. for each computing device, but is converted to an environment-independent format that can be interpreted by any computing device without depending on the type of CPU, OS, etc. Environment-independent format data store 214 for storing the read data, read the data written by the application into the memory 213, convert the data to the environment-independent format, store it in the environment-independent format data store 214, and re-install the computing device In processing, the data management unit 212 includes a data management unit 212 that executes processing such as transmitting the environment-independent format data from the computing device A 11 to the computing device B 12.

また、内部ネットワーク13を介して計算装置間または計算装置A 11とゲートウェイサーバ14の間の通信を実行する通信部215、アプリケーション実行部211がメモリ213上のデータへアクセスする際にアドレス解決やダーティフラグ管理を実行するメモリ管理部216、メモリ管理部216のアドレス解決やダーティフラグ管理に必要なデータを格納するページテーブル217、データ管理部212が、メモリ213上のデータと、該データに対応する環境非依存形式データストア214上の環境非依存形式データを対応付け、更に該環境非依存形式データの最後の更新後に計算装置A 11から計算装置B 12へ転送したか否かを把握するためのフラグを保存する変数テーブル218などが含まれる。   Further, when the communication unit 215 and the application execution unit 211 that execute communication between the calculation devices or between the calculation device A 11 and the gateway server 14 via the internal network 13 access the data on the memory 213, address resolution and dirty are performed. The memory management unit 216 that executes flag management, the page table 217 that stores data necessary for address resolution and dirty flag management of the memory management unit 216, and the data management unit 212 correspond to the data on the memory 213 and the data For associating environment-independent format data on the environment-independent format data store 214 with each other and further determining whether or not the environment-independent format data has been transferred from the computer A 11 to the computer B 12 after the last update of the environment-independent format data A variable table 218 that stores flags is included.

環境非依存形式データストア214に格納されるデータの環境非依存形式の例としては、XML (Extensible Markup Language)形式、JSON (JavaScript(登録商標) Object Notation)形式などが適用可能である。これら形式のデータは、異なるCPU、OSなどで構成された計算装置間で、CPU、OSなどの種類に依存せずに同一のデータとして扱うことが可能である。   As an example of the environment-independent format of the data stored in the environment-independent format data store 214, an XML (Extensible Markup Language) format, a JSON (JavaScript (registered trademark) Object Notation) format, or the like is applicable. Data in these formats can be handled as the same data regardless of the type of CPU, OS, etc., between computing devices composed of different CPUs, OSs, etc.

メモリ管理部216及びページテーブル217としては、一般的なCPUが備えるMMU (Memory Management Unit)と、該MMUに対応した形式を持つページテーブルでもよい。アプリケーション実行部211とデータ管理部212としては、CPU A 219のプログラムの実行により実現される機能的なモジュールでもよい。ページテーブル217、メモリ213、環境非依存形式データストア214、変数テーブル218としては、例えば1つのメモリである記憶装置220のそれぞれ異なる領域であってもよいし、全部または一部が物理的に異なるメモリなどであってもよい。さらに、記憶装置220のハードディスクであってもよく、実施例2ではメモリ213をハードディスクに替えてファイルとして格納する例を説明する。   The memory management unit 216 and the page table 217 may be an MMU (Memory Management Unit) provided in a general CPU and a page table having a format corresponding to the MMU. The application execution unit 211 and the data management unit 212 may be functional modules realized by executing a program of the CPU A 219. The page table 217, the memory 213, the environment-independent format data store 214, and the variable table 218 may be different areas of the storage device 220, which is one memory, for example, or may be physically different in whole or in part. It may be a memory or the like. Furthermore, the storage device 220 may be a hard disk. In the second embodiment, an example will be described in which the memory 213 is replaced with a hard disk and stored as a file.

なお、計算装置B 12の構成要素は物としては異なるが、計算装置A 11と同様であるため説明を省略する。   Although the components of the calculation device B 12 are different from each other, they are the same as those of the calculation device A 11 and will not be described.

図3は、FTCシステム10を構成する1つ以上の計算装置が計算装置間の並行処理から外れた後で、修理、交換などを施した該計算装置へ、並行処理を継続中の他の計算装置から、アプリケーションのデータをコピーして一致化することにより、元の全計算装置による並行処理状態を回復する、計算装置再組込みの処理のシーケンスの例を示す図である。図3ではアプリケーションの実行により書き込まれるデータを中心に説明するため、メモリ213、環境非依存形式データストア214、メモリ223を記載しているが、アプリケーション実行部211、データ管理部212などの動作では記載を省略したページテーブル217、変数テーブル218を使用する。これらを使用する動作については後で説明する。   FIG. 3 shows another calculation in which parallel processing is continued for one or more of the calculation devices constituting the FTC system 10 after being removed from the parallel processing between the calculation devices. It is a figure which shows the example of the sequence of the process of recompiling a computer apparatus which recovers the parallel processing state by all the original computer apparatuses by copying the data of an application from an apparatus, and making it correspond. In FIG. 3, the memory 213, the environment-independent format data store 214, and the memory 223 are described to mainly describe data written by execution of the application. However, in the operations of the application execution unit 211 and the data management unit 212, etc. A page table 217 and a variable table 218 whose description is omitted are used. The operation using these will be described later.

まず、計算装置A 11のアプリケーション実行部211はアプリ初起動300によりアプリケーションを実行するために必要な初期設定などを行う。そして、メモリ割り当て要求301によりデータ管理部212に対してメモリ割り当てを要求する。メモリ割り当て310にて、データ管理部212はアプリケーション実行部211から受け取ったメモリ割り当て要求に基づいて、メモリ213において新たに領域を割り当て、割り当てた領域のアドレスをアプリケーション実行部211へ渡す。   First, the application execution unit 211 of the computing device A 11 performs initial settings and the like necessary for executing the application by the application initial activation 300. Then, the memory allocation request 301 requests the data management unit 212 for memory allocation. In memory allocation 310, data management unit 212 allocates a new area in memory 213 based on the memory allocation request received from application execution unit 211, and passes the address of the allocated area to application execution unit 211.

アプリケーション実行部211は、アプリケーション処理の実行における処理途中結果のデータを保存するため、メモリ更新302にてメモリ213上のデータ管理部212から受け取ったアドレスにある領域に対してメモリ更新処理を実行する。これはアプリケーションプログラムにおける変数への値の代入あるいは退避であって、その変数の値を使用し、アプリ処理303にてさらに次のアプリケーション処理を実行し、その実行における処理途中結果のデータをさらに保存する。このため、通常、メモリ更新302はアプリケーションの処理内容に基づいて繰り返し実行される。このメモリ更新302に対して、データ管理部212はデータ更新検出及びデータ形式変換311により、それまでにメモリ213上に割り当てた領域の中で、直前のデータ更新検出及びデータ形式変換311の処理以降に更新された差分領域を特定し、メモリ213上の該更新された領域からデータを読み出し、データを環境非依存形式へ変換し、環境非依存形式データストア214へ変換したデータを記録する。なお、データ更新検出及びデータ形式変換311はデータ管理部212によって繰り返し実行される。該繰り返し実行のタイミングとしては、一定の設定された周期(1秒毎に実行など)での実行などとしてもよいし、メモリ更新302をカウントするなどして更新量に基づき実行してもよい。   The application execution unit 211 executes the memory update process on the area at the address received from the data management unit 212 on the memory 213 in the memory update 302 in order to save the data in the middle of the process in the execution of the application process. . This is the assignment or saving of a value to a variable in an application program. Using the value of that variable, the application process 303 further executes the next application process, and further saves the result data during the process. To do. For this reason, normally, the memory update 302 is repeatedly executed based on the processing content of the application. In response to this memory update 302, the data management unit 212 uses the data update detection and data format conversion 311 to perform processing immediately after the previous data update detection and data format conversion 311 in the area allocated on the memory 213. The updated difference area is identified, data is read from the updated area on the memory 213, the data is converted into the environment-independent format, and the converted data is recorded in the environment-independent format data store 214. Data update detection and data format conversion 311 are repeatedly executed by the data management unit 212. The timing of the repetitive execution may be execution at a fixed period (execution every 1 second), or may be executed based on the update amount by counting the memory update 302 or the like.

データ管理部212は、計算装置B 12から計算装置再組込みの開始要求を受信すると、全データ転送312にて、環境非依存形式データストア214上の全データを読み出し、該全データを計算装置B 12へ送信する。更新データ転送313にて、データ管理部212は、直前に実行された全データ転送312または更新データ転送313の内でより後に実行された処理以降に更新された環境非依存形式データストア214上のデータ(更新差分データ)を読み出し、該更新差分データを計算装置B 12へ送信する。なお、該更新データ転送313は、環境非依存形式データストア214上から計算装置B 12へ未送信の更新差分データが無くなるまで繰り返し実行される。なお、更新データ転送313はメモリ更新302によるメモリ213の更新を検出する毎に実行してもよいし、一定の設定された周期内の更新をまとめて検出して、一定の設定された周期毎に実行するなどとしてもよい。   When the data management unit 212 receives the start request for re-installation of the computing device from the computing device B 12, the entire data transfer 312 reads all the data on the environment-independent format data store 214, and all the data is calculated by the computing device B. Send to 12. In the update data transfer 313, the data management unit 212 performs the update on the environment-independent format data store 214 updated after all the data transfer 312 executed immediately before or the process executed later in the update data transfer 313. Data (update difference data) is read, and the update difference data is transmitted to the computer B 12. The update data transfer 313 is repeatedly executed until there is no update difference data that has not been transmitted from the environment-independent format data store 214 to the computer B12. Note that the update data transfer 313 may be executed each time an update of the memory 213 by the memory update 302 is detected, or updates within a fixed period are collectively detected, and every fixed period is detected. It is also possible to execute it.

メモリ更新302に対して更新データ転送313が追いつき、環境非依存形式データストア214上から計算装置B 12へ未送信の更新差分データが無くなったことを検出すると、再組込み完了通知314により、データ管理部212は、計算装置再組込みの完了通知を計算装置B 12へ送信して、計算装置A 11側の計算装置再組込みの処理を完了する。メモリ更新302の頻度が高く、未送信の更新差分データが無くならない場合は、アプリケーション実行部211の動作を一時的に停止することでメモリ更新302を抑制し、未送信の更新差分データが無くなった時点で再組込み完了通知314により完了通知を送信して、アプリケーション実行部211の動作停止を解除するなどしてもよい。   When the update data transfer 313 catches up with the memory update 302 and it is detected that there is no update difference data that has not been sent from the environment-independent data store 214 to the computing device B 12, data management is performed by a re-installation completion notification 314. The unit 212 transmits a computer device reassembly completion notification to the computer B12 to complete the computer device reassembly processing on the computer A11 side. If the frequency of memory update 302 is high and unsent update difference data does not disappear, memory update 302 is suppressed by temporarily stopping the operation of the application execution unit 211, and unsent update difference data disappears At this time, a completion notice may be transmitted by a re-installation completion notice 314, and the operation stop of the application execution unit 211 may be released.

以上の計算装置A 11の動作に対して計算装置 B 12のアプリケーション実行部221はアプリ再起動330により、アプリケーションの処理再開として起動し、アプリケーションの実行としては待機状態とする。そして、アプリケーションが処理再開するために必要な領域をメモリ223上に作成した後、アプリケーションの処理を再開する。アプリケーション実行部221はメモリ割り当て要求331によりデータ管理部222へデータ管理部222に対してメモリ割り当てを要求する。メモリ割り当て320にて、データ管理部222はアプリケーション実行部221から受け取ったメモリ割り当て要求に基づいて、メモリ223において新たに領域を割り当て、割り当てた領域のアドレスをアプリケーション実行部221へ渡す。計算装置B 12は計算装置A 11とは異なるため、メモリ割り当て320によりメモリ223へ割り当てられたアドレスや容量などは異なる可能性があるものの、メモリ割り当て310に対応する領域が確保できる。   In response to the above operation of the computing device A 11, the application execution unit 221 of the computing device B 12 is activated by the application restart 330 to resume application processing, and is placed in a standby state for application execution. Then, after an area necessary for the application to resume processing is created on the memory 223, the processing of the application is resumed. In response to the memory allocation request 331, the application execution unit 221 requests the data management unit 222 to allocate memory to the data management unit 222. In memory allocation 320, data management unit 222 allocates a new area in memory 223 based on the memory allocation request received from application execution unit 221, and passes the address of the allocated area to application execution unit 221. Since the computing device B 12 is different from the computing device A 11, an area corresponding to the memory allocation 310 can be secured, although the address and capacity allocated to the memory 223 by the memory allocation 320 may be different.

次に、アプリ準備完了通知332にて、アプリケーション実行部221はアプリケーションの準備が完了したことをデータ管理部222へ通知する。再組込み開始要求321にて、データ管理部222は計算装置A 11へ計算装置再組込みの開始要求を送信する。これに対し、全データ転送312によりデータが送信されるため、全データ書込み322にて、データ管理部222は、計算装置A 11から受信した環境非依存形式のデータを計算装置B 12上のアプリケーションが使用可能な形式へ再変換し、メモリ割り当て320にて割り当てたアドレスに基づきメモリ223へ書き込む。   Next, in application preparation completion notification 332, application execution unit 221 notifies data management unit 222 that application preparation has been completed. In response to the re-assembly start request 321, the data management unit 222 transmits a calculation device re-assembly start request to the computer A 11. On the other hand, since the data is transmitted by the all data transfer 312, in the all data write 322, the data management unit 222 applies the environment-independent format data received from the calculation device A 11 to the application on the calculation device B 12. Is re-converted into a usable format, and is written into the memory 223 based on the address allocated by the memory allocation 320.

さらに、更新データ書き込み323にて、データ管理部222は、計算装置A 11から受信した環境非依存形式の更新差分データを、計算装置B 12上のアプリケーションが使用可能な形式へ再変換し、メモリ割り当て320にて割り当てたアドレスに基づきメモリ223へ書き込む。なお、該更新データ書き込み323は、計算装置A 11から更新差分データを受信するたびに繰り返し実行する。アプリ再開通知324にて、データ管理部222は、計算装置A 11から計算装置再組込みの完了通知を受信すると、アプリケーション実行部221へアプリケーションの再開通知を送る。アプリ再開333にて、アプリケーション実行部221は、データ管理部222からアプリケーションの再開通知を受け取ると、メモリ割り当て要求331にて受け取ったアドレスを使用し、そのアドレスに書き込まれた再変換されたデータに基づいてアプリケーションの処理を再開する。   Further, in the update data writing 323, the data management unit 222 reconverts the update difference data in the environment-independent format received from the computing device A 11 into a format that can be used by the application on the computing device B 12, and the memory Write to the memory 223 based on the address assigned in the assignment 320. The update data writing 323 is repeatedly executed every time update difference data is received from the computing device A11. When the data management unit 222 receives the completion notification of the reintegration of the computing device from the computing device A 11 through the application resume notification 324, the data management unit 222 sends an application resume notification to the application execution unit 221. When the application execution unit 221 receives the application restart notification from the data management unit 222 in the application restart 333, the application execution unit 221 uses the address received in the memory allocation request 331, and converts it into the reconverted data written in the address. Resume application processing based on

図4は、データ管理部212がアプリケーション実行部211からメモリ割り当て要求を受けた際に実行するメモリ割り当て310の処理フローと、その処理の中で登録される変数テーブル218のスキーマの例を示した図である。変数テーブル218について説明するが、変数テーブル228のスキーマは同一であるため説明を省略する。なお、該変数テーブル218は任意の記憶装置上に任意の記録形態で記録して構わない。変数テーブル218の各行はアプリケーションが使用する変数データにそれぞれ対応する。データ型401には、変数データのデータ型が格納される。データ型とは、整数型、浮動小数点型、文字列型などであり、メモリ213上の該データのサイズ、符号化形式などを規定する。   FIG. 4 shows a processing flow of the memory allocation 310 executed when the data management unit 212 receives a memory allocation request from the application execution unit 211, and an example of a schema of the variable table 218 registered in the processing. FIG. The variable table 218 will be described, but the description of the schema of the variable table 228 is omitted because it is the same. The variable table 218 may be recorded in an arbitrary recording form on an arbitrary storage device. Each row of the variable table 218 corresponds to variable data used by the application. The data type 401 stores the data type of variable data. The data type includes an integer type, a floating point type, a character string type, and the like, and defines the size, encoding format, and the like of the data on the memory 213.

仮想アドレス/オフセット402には、変数データのメモリ213上の保存位置を指定する仮想アドレスの値が格納される。仮想アドレスについては図5を用いて後で説明する。オフセットはファイル内のオフセットであり、実施例2にて説明する。変数名403には変数データの名称である変数名が格納される。該変数名は環境非依存形式データストア214上の保存位置を規定するキー値としても使用される。転送状態404には、環境非依存形式データストア214上の変数データが最後に更新された後、計算装置A 11から計算装置B 12へ送信されたか否かを規定するフラグが格納される。該転送状態404が取りうる値は、送信していない場合を示す"未転送"、送信した場合を示す"転送済"、の2つである。   The virtual address / offset 402 stores the value of the virtual address that specifies the storage position of the variable data on the memory 213. The virtual address will be described later with reference to FIG. The offset is an offset in the file and will be described in the second embodiment. The variable name 403 stores a variable name that is the name of variable data. The variable name is also used as a key value that defines the storage location on the environment-independent format data store 214. The transfer status 404 stores a flag that defines whether or not the variable data on the environment-independent format data store 214 has been transmitted from the computing device A 11 to the computing device B 12 after the last update. There are two possible values for the transfer status 404: “not transferred” indicating no transmission and “transfer completed” indicating a transmission.

処理フローとしては、メモリ割り当て要求受け取り411にて、データ管理部212は、アプリケーション実行部211からメモリ割り当て要求を受け取る。なお、該メモリ割り当て要求においてアプリケーション実行部211は、割り当てるメモリに格納する予定のデータ型と該データの変数名を引数として指定する。必要メモリサイズ取得412にて、データ管理部212は、指定された該データ型のデータをメモリ213上に保存するために必要なメモリサイズを取得する。一般的には、計算装置毎の環境において該データ型のデータをメモリ213上に保存するために必要なメモリサイズは一意に予め定義されている。   As a processing flow, in the memory allocation request reception 411, the data management unit 212 receives a memory allocation request from the application execution unit 211. In the memory allocation request, the application execution unit 211 specifies the data type to be stored in the allocated memory and the variable name of the data as arguments. In the necessary memory size acquisition 412, the data management unit 212 acquires a memory size necessary for storing the data of the specified data type on the memory 213. In general, a memory size necessary for storing data of the data type in the memory 213 in an environment for each computing device is uniquely defined in advance.

メモリ領域割り当て413にて、データ管理部212は、必要なメモリサイズのデータを格納可能なメモリ領域をメモリ213上に割り当てる。なお、該メモリ領域割り当てには、一般的な計算機環境で提供されるメモリ割り当てルーチン(POSIXのmalloc関数など)を使用してもよく、あるいは、独自のメモリ割り当て実装を用いてもよい。変数テーブル登録414にて、データ管理部212は、割り当てたメモリ領域を新たな行として変数テーブル218へ登録する。その際、データ型401には引数のデータ型を、仮想アドレス/オフセット402には割り当てたメモリ領域の先頭アドレスを、変数名403には引数の変数名を、転送状態404には"未転送"を、それぞれ登録する。メモリ割り当て結果返値415にて、データ管理部212は、アプリケーション実行部211へ、割り当てたメモリ領域の先頭アドレスを返値する。   In memory area allocation 413, the data management unit 212 allocates a memory area on the memory 213 that can store data of a necessary memory size. For the memory area allocation, a memory allocation routine (POSIX malloc function or the like) provided in a general computer environment may be used, or a unique memory allocation implementation may be used. In the variable table registration 414, the data management unit 212 registers the allocated memory area in the variable table 218 as a new row. At that time, the data type 401 is the data type of the argument, the virtual address / offset 402 is the start address of the allocated memory area, the variable name 403 is the variable name of the argument, and the transfer status 404 is “untransferred” Are registered respectively. Using the memory allocation result return value 415, the data management unit 212 returns the start address of the allocated memory area to the application execution unit 211.

図5はページテーブル217のスキーマの例を示した図である。ページテーブル227のスキーマは同一であるため説明を省略する。なお、該ページテーブル217は任意の記憶装置上に任意の記録形態で記録して構わない。ページテーブル217の各行は異なるメモリページに対応する。ここでメモリページとは一般的なプロセッサにおいて規定される一定サイズのデータ領域のことである。仮想アドレス501には仮想アドレスの値が格納される。仮想アドレスとは、アプリケーションが使用するメモリ空間におけるメモリページの位置を指定するオフセットであり、物理メモリ上のオフセットとは独立に設定できる。アプリケーションすなわちアプリケーション実行部211からは仮想アドレスの値を使用してメモリ213へアクセスされる。物理アドレス502には物理アドレスの値が格納される。物理アドレスとはメモリページの物理メモリ上のオフセットである。仮想アドレスの値とその仮想アドレスの値に対応する物理アドレスの値とはメモリ管理部216によりページテーブル217を使用して変換される。   FIG. 5 is a diagram showing an example of the schema of the page table 217. Since the schema of the page table 227 is the same, the description thereof is omitted. The page table 217 may be recorded in an arbitrary recording form on an arbitrary storage device. Each row in the page table 217 corresponds to a different memory page. Here, the memory page is a data area of a certain size defined in a general processor. The virtual address 501 stores the value of the virtual address. A virtual address is an offset that specifies the position of a memory page in a memory space used by an application, and can be set independently of an offset on a physical memory. The application, that is, the application execution unit 211 accesses the memory 213 using the value of the virtual address. The physical address 502 stores a physical address value. The physical address is an offset of the memory page on the physical memory. The value of the virtual address and the value of the physical address corresponding to the value of the virtual address are converted by the memory management unit 216 using the page table 217.

ダーティフラグ503にはダーティフラグの値が格納される。ダーティフラグ503が取りうる値は"set"と"cleared"の2つである。ダーティフラグ503とは、最後に該ダーティフラグを"cleared"に設定してから、次に該ダーティフラグを確認するまでの間に、該メモリページが更新されたかどうかを示すフラグである。更新された場合、該ダーティフラグは"set"に設定変更される。なお、"set"の状態でさらに該メモリページが更新されて"set"をさらに設定しても"set"が設定されていることに変わりはないため、"set"を設定する際に"cleared"であることを確認する必要はない。また、該ダーティフラグ503が確認された時点で"set"になっていた場合は"cleared"に設定する。これらの設定に関しては図6、7を用いて更に説明する。   The dirty flag 503 stores the value of the dirty flag. The dirty flag 503 can take two values, “set” and “cleared”. The dirty flag 503 is a flag indicating whether or not the memory page has been updated between the last time the dirty flag is set to “cleared” and the next time the dirty flag is checked. When updated, the dirty flag is changed to “set”. Note that even if the memory page is updated in the "set" state and "set" is further set, "set" is still set, so when "set" is set, "cleared" "There is no need to make sure that. If it is “set” when the dirty flag 503 is confirmed, it is set to “cleared”. These settings will be further described with reference to FIGS.

図6は、アプリケーション実行部211がメモリ213上のデータを更新するための処理のシーケンスの例を示す図である。メモリ更新要求601にて、アプリケーション実行部211は、メモリ213上のデータの更新をメモリ管理部216へ要求する。この際、アプリケーション実行部211は、更新対象データのアドレス、サイズ、更新に使用する新データを指定する。ページテーブルエントリ検索602にて、メモリ管理部216は、指定されたアドレスと仮想アドレス501の値が一致するページテーブル217のエントリをページテーブル217から検索して取得する。メモリアドレス変換603にて、メモリ管理部216は、一致したエントリの物理アドレス502を参照し、メモリ管理部216上の更新対象のデータの物理的な位置を特定する。   FIG. 6 is a diagram illustrating an example of a processing sequence for the application execution unit 211 to update data on the memory 213. In response to the memory update request 601, the application execution unit 211 requests the memory management unit 216 to update data on the memory 213. At this time, the application execution unit 211 specifies the address, size, and new data to be used for update of the update target data. In the page table entry search 602, the memory management unit 216 searches the page table 217 for an entry of the page table 217 in which the specified address and the value of the virtual address 501 match, and acquires them. In the memory address conversion 603, the memory management unit 216 refers to the physical address 502 of the matched entry, and identifies the physical position of the update target data on the memory management unit 216.

そして、ダーティフラグ設定604にて、メモリ管理部216は、一致したエントリのダーティフラグ503に"set"を設定する。メモリ内容更新605にて、メモリ管理部216は、メモリ213上の更新対象のデータ内容を指定された新データを用いて更新する。メモリ更新完了606にて、メモリ管理部216は、メモリ更新が完了したことをアプリケーション実行部211へ通知する。   Then, in the dirty flag setting 604, the memory management unit 216 sets “set” to the dirty flag 503 of the matched entry. In the memory content update 605, the memory management unit 216 updates the data content to be updated on the memory 213 with the designated new data. In memory update completion 606, the memory management unit 216 notifies the application execution unit 211 that the memory update has been completed.

以上の処理により、アプリケーション実行部211がメモリ213上のデータを更新すると、該データが更新されたことがページテーブル217に記録され、該ページテーブル217を参照することにより、該データの更新有無を判別できる。なお、該データの更新有無の判別する他の処理のシーケンスとして、"cleared"に設定するのと同じ条件でメモリ213上のデータを一旦読み込み専用状態に設定し、アプリケーション実行部211が該データを更新する際に発生する例外のハンドリング処理の中で、更新発生を記録するなどとしてもよい。ここで、読み込み専用状態の設定と例外のハンドリング処理は、アプリケーション実行部211とは独立したCPU A 219で実行されるメモリ213を管理するプログラムで行ってもよい。一般にMMUやページテーブルを設定するメモリの管理プログラムが存在する。また、該データの更新有無の判別する他の処理のシーケンスとして、メモリ213上のデータのコピーを予め任意の記録媒体に記録しておき、更新後のデータと比較することにより更新発生を検出するなどとしてもよい。ここで、データのコピーと比較はメモリ管理部216が行ってもよく、メモリ213内の割り当てられた領域すべてをコピーしてもよく、定期的にコピーして定期的に比較してもよい。さらに、同様に機能するこれ以外の任意の判別の処理のシーケンスを使ってもよい。   Through the above processing, when the application execution unit 211 updates the data on the memory 213, the fact that the data has been updated is recorded in the page table 217. By referring to the page table 217, whether the data has been updated or not is recorded. Can be determined. As another processing sequence for determining whether or not the data is updated, the data on the memory 213 is temporarily set to a read-only state under the same condition as that set to “cleared”, and the application execution unit 211 It is also possible to record the occurrence of an update during the handling of exceptions that occur when updating. Here, the read-only state setting and exception handling processing may be performed by a program that manages the memory 213 executed by the CPU A 219 independent of the application execution unit 211. In general, there is a memory management program that sets the MMU and page table. In addition, as another processing sequence for determining whether or not the data is updated, a copy of the data on the memory 213 is recorded in advance on an arbitrary recording medium, and the occurrence of the update is detected by comparing with the updated data. And so on. Here, copying and comparison of data may be performed by the memory management unit 216, or all assigned areas in the memory 213 may be copied, or may be copied periodically and compared periodically. Further, any other determination processing sequence that functions similarly may be used.

図7は、データ管理部212がメモリ213上の更新されたデータを検出し、該更新されたデータを、環境非依存形式へ変換して、該環境非依存形式データを環境非依存形式データストア214へ格納する処理のシーケンスの例を示す図である。まず、変数テーブルからのエントリ取得701にて、データ管理部212は、変数テーブル218から1つエントリを取得する。変数更新有無確認702にて、データ管理部212は、変数テーブル218の該エントリの仮想アドレス/オフセット402の値と仮想アドレス501の値が対応するページテーブル217のエントリを取得し、ダーティフラグ503が"set"されているかどうかによって、変数テーブル218の該エントリの仮想アドレス/オフセット402に対応するメモリ213上のデータが更新されているか判別する。更新有703がNOであれば、変数データ取得704から変数テーブルエントリの未転送状態への設定707までの処理を省略し、変数テーブル218の次のエントリに対する処理へ進む。   In FIG. 7, the data management unit 212 detects updated data on the memory 213, converts the updated data into an environment-independent format, and converts the environment-independent format data into an environment-independent format data store. 22 is a diagram showing an example of a sequence of processing stored in 214. FIG. First, in entry acquisition 701 from the variable table, the data management unit 212 acquires one entry from the variable table 218. In the variable update presence / absence confirmation 702, the data management unit 212 acquires an entry in the page table 217 corresponding to the value of the virtual address / offset 402 of the entry in the variable table 218 and the value of the virtual address 501, and the dirty flag 503 is set. Whether or not the data on the memory 213 corresponding to the virtual address / offset 402 of the entry in the variable table 218 has been updated is determined based on whether or not it is “set”. If the update present 703 is NO, the processing from the variable data acquisition 704 to the setting 707 of the variable table entry to the untransferred state is omitted, and the process proceeds to the processing for the next entry in the variable table 218.

更新有703がYESであれば、データ管理部212は、ダーティフラグ503を"cleared"に設定し、変数データ取得704にてメモリ213上の更新されたデータの内容を読み込む。変数データの環境非依存形式への変換705にて、データ管理部212は、変数テーブル218から取得したエントリのデータ型401と計算装置A 11のエンディアンなどの情報を利用して、読み込んだメモリ213上の該データを環境非依存形式へ変換する。環境非依存形式データの保存706にて、データ管理部212は、該環境非依存形式データを変数テーブル218の該エントリの変数名403に対応付けて環境非依存形式データストア214へ保存する。変数テーブルエントリの未転送状態への設定707にて、データ管理部212は、変数テーブル218の該エントリの転送状態404を"未転送"に設定する。   If the update presence 703 is YES, the data management unit 212 sets the dirty flag 503 to “cleared”, and reads the content of the updated data on the memory 213 in the variable data acquisition 704. In the conversion 705 of the variable data to the environment-independent format, the data management unit 212 uses the information such as the data type 401 of the entry acquired from the variable table 218 and the endian of the computer A 11 to read the memory 213. The above data is converted into an environment-independent format. In storage 706 of environment-independent format data, the data management unit 212 stores the environment-independent format data in the environment-independent format data store 214 in association with the variable name 403 of the entry in the variable table 218. In the setting 707 of the variable table entry to the untransferred state, the data management unit 212 sets the transfer state 404 of the entry in the variable table 218 to “untransferred”.

全変数の処理完了708にて、データ管理部212は、変数テーブルからのエントリ取得701から変数テーブルエントリの未転送状態への設定707までの処理を、変数テーブル218の全エントリについて、順に実行し、データ更新検出及びデータ形式変換の処理を完了する。   Upon completion of the processing of all variables 708, the data management unit 212 sequentially executes the processing from the entry acquisition 701 from the variable table to the setting 707 of the variable table entry to the untransferred state for all entries of the variable table 218. The data update detection and data format conversion process is completed.

図8は、計算装置A 11上のデータ管理部212が、環境非依存形式データストア214上の環境非依存形式データの内、前回の更新差分データ転送及びデータ書き込みの処理以降に更新された環境非依存形式データを検出し、計算装置B 12へ送信し、計算装置B 12が受信した該環境非依存形式データを、環境非依存形式からアプリケーションが使用可能な形式へ変換し、該変換したデータをメモリ223に書き込む処理のシーケンスの例を示す図である。まず、計算装置A 11のデータ管理部212は、変数テーブルからのエントリ取得801にて、変数テーブル218から1つエントリを取得し、転送状態802にて該エントリの転送状態404を読んで"転送済"状態すなわちNOであれば、変数データ取得803から変数テーブルエントリの転送済状態への設定805までの処理を省略して変数テーブル218の次のエントリへ進む。   FIG. 8 shows an environment in which the data management unit 212 on the computing device A 11 has been updated since the last update difference data transfer and data write processing among the environment-independent format data on the environment-independent format data store 214. Independent format data is detected, transmitted to the computing device B 12, and the environment-independent format data received by the computing device B 12 is converted from the environment-independent format into a format that can be used by the application, and the converted data FIG. 6 is a diagram illustrating an example of a sequence of processing for writing the data to the memory 223; First, the data management unit 212 of the computing device A 11 acquires one entry from the variable table 218 in the entry acquisition 801 from the variable table, reads the transfer status 404 of the entry in the transfer status 802, and transfers the “transfer” If it is “completed” state, that is, NO, processing from variable data acquisition 803 to setting 805 to the transferred state of the variable table entry is omitted, and the process proceeds to the next entry in the variable table 218.

転送状態802にて"未転送"状態すなわちYESであれば、変数データ取得803にて、データ管理部212は、変数テーブル218の該エントリの変数名403に対応する環境非依存形式データストア214上の環境非依存形式データを取得する。変数データ転送804にて、データ管理部212は、変数テーブル218から得たデータ型、変数名、及び該環境非依存形式データを計算装置B 12へ送信する。そして、変数テーブルエントリの転送済状態への設定805にて、データ管理部212は、変数テーブル218の該エントリの転送状態404を、"転送済"にセットする。全変数の処理完了806にて、データ管理部212は、変数テーブルからのエントリ取得801から変数テーブルエントリの転送済状態への設定804までの処理を、変数テーブル218の全エントリについて順番に実行する。   If the transfer state 802 is “non-transfer” state, that is, YES, in the variable data acquisition 803, the data management unit 212 stores the data in the environment-independent format data store 214 corresponding to the variable name 403 of the entry in the variable table 218. Get environment-independent format data. In variable data transfer 804, the data management unit 212 transmits the data type, variable name, and environment-independent format data obtained from the variable table 218 to the computing device B12. Then, in the setting 805 of the variable table entry to the transferred state, the data management unit 212 sets the transfer state 404 of the entry in the variable table 218 to “transferred”. Upon completion of the processing of all variables 806, the data management unit 212 sequentially executes the processing from the entry acquisition 801 from the variable table to the setting 804 of the variable table entry to the transferred state for all the entries in the variable table 218. .

これに対し、計算装置B 12のデータ管理部222は、データ形式再変換811にて、計算装置A 11から受信した環境非依存形式データを、計算装置B 12上のアプリケーションが使用可能な形式へ再変換する。再変換は計算装置A 11から受信したデータ型に対応する計算装置B 12のデータ型のエンディアンなどのデータ形式へ環境非依存形式データを変換する。そして、変数データ書込み812にて、データ管理部222は、該再変換したデータをメモリ223へ保存する。保存するメモリ223のアドレスは、計算装置A 11から受信した変数名を変数テーブル228の変数名403の中から検索し、一致した変数名のエントリの仮想アドレス/オフセット402の値を使用する。ここで、メモリ割り当て要求331はメモリ割り当て要求301と同じ変数名を引数として要求するため、一致する変数名が存在する。なお、変数テーブル228にはデータ型401もあるため、受信したデータ型ではなく、受信した変数名に一致した変数名のエントリのデータ型401を使用してもよい。   On the other hand, the data management unit 222 of the computing device B 12 converts the environment-independent format data received from the computing device A 11 into a format that can be used by the application on the computing device B 12 in the data format reconversion 811. Reconvert. The reconversion converts environment-independent format data to a data format such as endian of the data type of the computer B 12 corresponding to the data type received from the computer A 11. Then, in the variable data writing 812, the data management unit 222 stores the reconverted data in the memory 223. As the address of the memory 223 to be saved, the variable name received from the computer A 11 is searched from the variable name 403 of the variable table 228, and the value of the virtual address / offset 402 of the entry of the matched variable name is used. Here, since the memory allocation request 331 requests the same variable name as the memory allocation request 301 as an argument, there is a matching variable name. Note that since the variable table 228 also has a data type 401, the data type 401 of the entry of the variable name that matches the received variable name may be used instead of the received data type.

以上、説明したようにデータ形式の異なる計算装置B 12においても計算装置A 11と同じメモリの内容とすることができるため、アプリケーションの処理をそのメモリの内容の時点から再開することができる。そして、複数の計算装置において同一の処理内容を同一の処理順序で実行することにより、システムの耐障害性、信頼性を高めることができる。   As described above, the calculation device B 12 having a different data format can also have the same memory contents as the calculation device A 11, so that the application process can be resumed from the time of the contents of the memory. Then, by executing the same processing contents in a plurality of computing devices in the same processing order, it is possible to improve the fault tolerance and reliability of the system.

以上の説明では計算装置B 12において計算装置A 11からデータを受信する前にメモリ割り当て320を予め実行しておいて、使用する各変数のアドレスを確定したが、例えばメモリ割り当て320を予め実行しなくてもよい。図3において、メモリ割り当て要求331とメモリ割り当て320を省略したシーケンスとし、更新データ書込み323にて変数テーブル228の登録を行う。すなわち、図8において、変数データ書込み812にて変数テーブルから仮想アドレス/オフセット402などの値を読み出す代わりに、図4のメモリ領域割り当て413と同じ処理により仮想アドレス/オフセット402の値を生成し、計算装置A 11から受信したデータ型、変数名とともに変数テーブル228へ書き込む。そして、生成した仮想アドレス/オフセット402の値の位置へ変換データを保存する。   In the above description, the memory allocation 320 is executed in advance before receiving data from the calculation device A 11 in the calculation device B 12, and the address of each variable to be used is determined. For example, the memory allocation 320 is executed in advance. It does not have to be. In FIG. 3, the memory allocation request 331 and the memory allocation 320 are omitted, and the variable table 228 is registered at the update data write 323. That is, in FIG. 8, instead of reading the value such as the virtual address / offset 402 from the variable table in the variable data write 812, the value of the virtual address / offset 402 is generated by the same process as the memory area allocation 413 in FIG. The data type and variable name received from the computer A 11 are written in the variable table 228. Then, the conversion data is stored at the position of the generated virtual address / offset 402 value.

この場合、アプリケーション実行部221はアプリ再開333の時点で各変数のアドレスを取得していないため、図9に示すような処理のシーケンスを実行する。図9は、再組込みが完了した後に、計算装置B 12において、アプリケーション実行部221がメモリ223上のデータにアクセスする処理のシーケンスの例を示す図である。計算装置B 12のアプリケーション実行部221は、アドレス問合せ901にて、データ管理部222へアクセスしたいデータの変数名を通知して該データのアドレスを問い合わせる。変数検索911にて、データ管理部222は、変数テーブル228から当該変数名と変数名403が対応するエントリを検索する。アドレス通知912にて、データ管理部222は、アプリケーション実行部221へ当該エントリの仮想アドレス/オフセット402の値をアドレスとして通知する。データアクセス902にて、アプリケーション実行部221は、メモリ223上の該アドレスに格納されたデータへアクセスする。このようにすることで、アプリケーション実行部221はデータアクセス902毎にアドレスを問い合わせる必要はあるが、メモリ割り当て320などを予め実行する必要はない。   In this case, since the application execution unit 221 has not acquired the address of each variable at the time of the application restart 333, the process sequence as shown in FIG. 9 is executed. FIG. 9 is a diagram illustrating an example of a processing sequence in which the application execution unit 221 accesses data on the memory 223 in the computing device B 12 after the re-installation is completed. In the address inquiry 901, the application execution unit 221 of the computer B 12 notifies the data management unit 222 of the variable name of the data to be accessed and inquires about the address of the data. In the variable search 911, the data management unit 222 searches the variable table 228 for an entry corresponding to the variable name and the variable name 403. In the address notification 912, the data management unit 222 notifies the application execution unit 221 of the value of the virtual address / offset 402 of the entry as an address. In the data access 902, the application execution unit 221 accesses the data stored at the address on the memory 223. In this way, the application execution unit 221 needs to inquire about the address for each data access 902, but it is not necessary to execute the memory allocation 320 or the like in advance.

また、アプリケーション実行部221がデータアクセス902毎ではなく、アプリ再開333の直前にまとめてアドレスを取得してもよい。図10は、計算装置B 12において環境非依存形式データストア224へ一時的に環境非依存形式データを保存し、アプリ実行部221のメモリ割り当て要求331に応じ、まとめてデータ形式を再変換してメモリ223へ保存するとともに、アプリ実行部221へアドレスを渡す処理のシーケンスの例を示す図である。   Further, the application execution unit 221 may acquire addresses collectively before the application restart 333 instead of every data access 902. FIG. 10 shows that the computing device B 12 temporarily saves the environment-independent format data in the environment-independent format data store 224, and collectively reconverts the data format according to the memory allocation request 331 of the application execution unit 221. FIG. 11 is a diagram showing an example of a sequence of processing for saving to a memory 223 and passing an address to an application execution unit 221.

図3の全データ書込み322と更新データ書込み323は図8を用いて説明したようにデータを再変換してメモリ223へ保存するのに対し、図10の全データ書込み325と更新データ書込み326はデータを再変換せず、環境非依存形式データを環境非依存形式データストア224へ保存する。そして、アプリ再開333の直前のメモリ割り当て要求331に対して、データ管理部222は単なるメモリ割り当てを実行するのではなく、メモリ割り当てデータ形式変換327を実行する。メモリ割り当てデータ形式変換327では、メモリ割り当て要求331の引数で指定された変数名のデータを環境非依存形式データストア224から読み出し、データ形式を再変換したデータをメモリ223へ保存し、その保存したアドレスをメモリ割り当て要求331へ渡す。このようにすることで、アプリ実行部221側からはメモリの割り当てを要求しただけであっても、その割り当てられた領域のアドレスに再変換されたデータが保存されているため、アプリケーションの処理を再開することができる。   As shown in FIG. 8, all data write 322 and update data write 323 in FIG. 3 reconvert data and store it in the memory 223, whereas all data write 325 and update data write 326 in FIG. The environment-independent format data is stored in the environment-independent format data store 224 without re-converting the data. Then, in response to the memory allocation request 331 immediately before the application restart 333, the data management unit 222 executes memory allocation data format conversion 327 instead of simply performing memory allocation. In the memory allocation data format conversion 327, the data of the variable name specified by the argument of the memory allocation request 331 is read from the environment-independent format data store 224, and the re-converted data format is stored in the memory 223. The address is passed to the memory allocation request 331. In this way, even if the application execution unit 221 only requests memory allocation, the reconverted data is stored at the address of the allocated area. You can resume.

以上、説明したようにデータ形式の再変換のタイミングとアプリ実行部221へアドレスを渡すタイミングとはさまざまな組み合わせが可能であり、計算装置B 12のCPU B 229やメモリ管理部226の種類などに応じて、最も処理時間の短くなるなどのタイミングを選択してもよい。   As described above, the timing of data format re-conversion and the timing of sending an address to the application execution unit 221 can be variously combined. For example, the CPU B 229 of the computing device B 12 and the type of the memory management unit 226 Accordingly, a timing such as the shortest processing time may be selected.

実施例2として、アプリケーション実行部211がデータを格納する先へ、メモリの代わりにハードディスク上などのファイルを適用した場合の例を説明する。アプリケーション実行部211がデータを格納する先へ、メモリの代わりにファイルを適用した場合の変数テーブル218のスキーマは図4に示したとおりであり、仮想アドレス/オフセット402には仮想アドレスではなく、変数データのファイル上の保存位置を指定するオフセット値が格納される。また、図4のメモリ領域割り当て413ではメモリ領域を割り当てるが、この例ではファイル領域を割り当てる。   As a second embodiment, an example in which a file on a hard disk or the like is applied instead of a memory to a destination where the application execution unit 211 stores data will be described. The schema of the variable table 218 when the file is applied instead of the memory to the destination where the application execution unit 211 stores data is as shown in FIG. 4, and the virtual address / offset 402 is not a virtual address but a variable. Stores the offset value that specifies the storage location of the data file. Further, in the memory area allocation 413 in FIG. 4, a memory area is allocated, but in this example, a file area is allocated.

図11は、アプリケーション実行部211がデータを格納する先として、メモリの代わりにファイルを適用した場合の、データ更新検出及びデータ形式変換の処理のシーケンスの例を示す図であり、メモリの場合の図7に対応する。主な構成要素はメモリを使用する場合と殆ど同様であるが、データ更新有無の判別に、ページテーブル217の代わりにOS 231のファイル更新検出機能を用いる。アプリケーション実行部211がファイルを更新する際には必ずOS 231に要求し、OS 231が該ファイル更新処理を実行するため、更新有無を記録することが可能である。該更新有無の記録についてはOS 231内のどのような構成で実装してもよいため、その実装についての説明は省略する。   FIG. 11 is a diagram illustrating an example of a sequence of data update detection and data format conversion processing when the application execution unit 211 applies a file instead of a memory as a data storage destination. This corresponds to FIG. The main components are almost the same as in the case of using a memory, but the file update detection function of the OS 231 is used instead of the page table 217 for determining whether or not to update data. When the application execution unit 211 updates a file, it always requests the OS 231 and the OS 231 executes the file update process. Since the record of the presence / absence of update may be implemented in any configuration in the OS 231, description of the implementation is omitted.

データ管理部212は、変数テーブルからのエントリ取得701にて、変数テーブル218から1つのエントリを取得した後、OS問合せによる変数更新有無確認712にて、変数テーブル218の該エントリのオフセット402に対応するファイルデータが更新されているか、OS 231に問い合わせて判別する。更新されていれば、変数データ取得714にて、データ管理部212は、ファイル上の該データの内容を読み込む。その他の処理のシーケンスは図7で説明したとおりであり、同じ処理には同じ符号を付けてある。   After acquiring one entry from the variable table 218 in the entry acquisition 701 from the variable table, the data management unit 212 corresponds to the offset 402 of the entry in the variable table 218 in the variable update presence / absence confirmation 712 by the OS query. The OS 231 is inquired to determine whether the file data to be updated has been updated. If updated, the data management unit 212 reads the content of the data on the file in the variable data acquisition 714. The sequence of the other processes is as described with reference to FIG. 7, and the same processes are denoted by the same reference numerals.

また、データの更新は、メモリ管理部216を介して行うのではなく、OS 231に要求することによって実行する。このため、ファイルとしての記憶装置220と記憶装置220を制御するOS 231とが記憶部を構成することになる。その他の処理のシーケンスなどは既に図を用いて説明したものと同様である。   Also, the data update is executed by requesting the OS 231 rather than via the memory management unit 216. For this reason, the storage device 220 as a file and the OS 231 that controls the storage device 220 constitute a storage unit. Other processing sequences are the same as those already described with reference to the drawings.

以上、説明したようにファイル上のデータ形式の異なる計算装置B 12においても計算装置A 11と同じファイルの内容とすることができるため、ファイルの内容を使用してアプリケーションの処理をそのファイルの内容の時点から再開することができる。   As described above, the calculation device B 12 having a different data format on the file can also have the same file contents as the calculation device A 11, so that the application processing is performed using the file contents. You can resume from the point of time.

実施例3として、実施例2においてアプリケーション実行部211がデータを格納する先としてファイルを適用したのに対し、ファイルの代わりにデータベースを用いる場合の例を説明する。データベースはデータを格納するデータ格納部と、アプリケーション実行部211からの要求に応じてデータを更新するデータ更新インターフェースを備えるものとする。このため、データ格納部とデータ更新インターフェースとが記憶部を構成することとなる。その他の構成要素はファイルを使用する場合と同様であるが、データ更新インターフェースでデータ更新有無の記録が可能であるため、データ更新有無の判別に、OSのファイル更新検出機能を必要としないため、OSが同ファイル更新検出機能を備えていない場合にも適用できる利点がある。また、データ格納部がデータを格納する際に当該データを環境非依存形式へ変換してもよい。この場合、図11に示したデータ管理部212の処理としての変数データを環境非依存形式へ変換705が不要となる利点がある。   As a third embodiment, an example will be described in which a database is used instead of a file while the application execution unit 211 applies a file as a data storage destination in the second embodiment. The database includes a data storage unit that stores data and a data update interface that updates data in response to a request from the application execution unit 211. For this reason, the data storage unit and the data update interface constitute a storage unit. Other components are the same as when using a file, but because it is possible to record the presence or absence of data update with the data update interface, the OS file update detection function is not required to determine the presence or absence of data update. There is an advantage that can be applied even when the OS does not have the file update detection function. Further, when the data storage unit stores data, the data may be converted into an environment-independent format. In this case, there is an advantage that the variable data as the processing of the data management unit 212 shown in FIG.

211、221:アプリケーション実行部、212、222:データ管理部、213、223:メモリ、214、224:環境非依存形式データストア、215、225:通信部、216、226:メモリ管理部、217、227:ページテーブル、218、228:変数テーブル 211, 221: Application execution unit, 212, 222: Data management unit, 213, 223: Memory, 214, 224: Environment independent format data store, 215, 225: Communication unit, 216, 226: Memory management unit, 217, 227: Page table, 218, 228: Variable table

Claims (11)

異なる形式のデータを処理する複数の処理計算機と管理計算機とから構成された計算機システムであって、
前記処理計算機のそれぞれは、
前記処理の途中結果のデータを生成し、前記途中結果のデータに基づいて次の処理を実行する処理部と、
前記途中結果のデータを前記処理部で処理可能な形式で記憶する記憶部と、
前記記憶されたデータを予め定められた形式のデータへ変換し、前記予め定められた形式のデータを前記記憶部に記憶する形式のデータへ変換する変換部と、
前記予め定められた形式のデータを他の前記処理計算機へ出力し、前記他の処理計算機から入力する転送部と、
前記処理の結果を前記管理計算機へ出力する通信部と、
を備え、
前記計算機システムへ追加された第1の前記処理計算機は、既に前記計算機システムに存在する第2の前記処理計算機から前記予め定められた形式のデータを前記転送部で入力し、当該入力したデータを前記変換部にて前記処理部で処理可能な形式のデータへ変換し、当該変換したデータを前記記憶部へ記憶し、当該記憶したデータに基づいて次の処理を実行し、当該実行を含む前記処理の結果を前記管理計算機へ出力し、
前記管理計算機は、前記第1の処理計算機と前記第2の処理計算機を含む複数の前記処理計算機それぞれから入力した前記処理の結果を比較し、最も一致する数の多い前記処理の結果を前記計算機システムの外部へ出力すること、
を特徴とする計算機システム。
A computer system composed of a plurality of processing computers that process data of different formats and a management computer,
Each of the processing computers is
A processing unit that generates data of an intermediate result of the process, and executes a next process based on the data of the intermediate result;
A storage unit that stores the intermediate result data in a format that can be processed by the processing unit;
Converting the stored data into data in a predetermined format, and converting the data in the predetermined format into data in a format stored in the storage unit;
A transfer unit that outputs the data in the predetermined format to the other processing computer and inputs from the other processing computer;
A communication unit that outputs a result of the processing to the management computer;
With
The first processing computer added to the computer system inputs the data in the predetermined format from the second processing computer already existing in the computer system by the transfer unit, and inputs the input data. The conversion unit converts the data into a format that can be processed by the processing unit, stores the converted data in the storage unit, executes the next processing based on the stored data, and includes the execution Output the processing result to the management computer,
The management computer compares the processing results input from each of the plurality of processing computers including the first processing computer and the second processing computer, and the result of the processing with the most number of matches is the computer. Output to outside the system,
A computer system characterized by
請求項1に記載の計算機システムであって、
前記第2の処理計算機は、
前記変換部が、前記生成された途中結果のデータの記憶を検出し、当該検出に基づいて前記記憶されたデータを予め定められた形式のデータへ変換すること、
を特徴とする計算機システム。
The computer system according to claim 1,
The second processing computer is
The conversion unit detects storage of the generated intermediate result data, and converts the stored data into data of a predetermined format based on the detection;
A computer system characterized by
請求項1に記載の計算機システムであって、
前記第2の処理計算機は、
前記記憶部が、記憶領域をページテーブルによりページ単位で管理し、前記生成された途中結果のデータを記憶すると前記ページテーブルの前記記憶したページのフラグをセットし、
前記変換部が、前記フラグのセットを検出し、当該検出に基づいて前記ページに記憶されたデータを予め定められた形式のデータへ変換すること、
を特徴とする計算機システム。
The computer system according to claim 1,
The second processing computer is
The storage unit manages the storage area in units of pages by a page table, and stores the generated intermediate result data and sets the flag of the stored page of the page table,
The converter detects the set of flags, and converts the data stored in the page into data of a predetermined format based on the detection;
A computer system characterized by
請求項1に記載の計算機システムであって、
前記第2の処理計算機は、
前記記憶部が、さらに読み込み専用に設定可能であり、読み込み専用に設定されている状態でデータを記憶する際に発生する例外のハンドリング処理により前記発生を記録し、
前記変換部が、前記発生の記録に基づいて前記記憶されたデータを予め定められた形式のデータへ変換すること、
を特徴とする計算機システム。
The computer system according to claim 1,
The second processing computer is
The storage unit can be further set to read-only, and the occurrence is recorded by handling an exception that occurs when storing data in a state set to read-only,
The converting unit converts the stored data into data in a predetermined format based on the occurrence record;
A computer system characterized by
請求項1に記載の計算機システムであって、
前記第2の処理計算機は、
前記記憶部が、前記記憶されたデータのコピーを記録媒体へ記録し、前記コピーの元のデータと前記記録したデータとを比較し、
前記変換部が、前記比較の結果に基づいて前記記憶されたデータを予め定められた形式のデータへ変換すること、
を特徴とする計算機システム。
The computer system according to claim 1,
The second processing computer is
The storage unit records a copy of the stored data on a recording medium, compares the original data of the copy with the recorded data,
The converter converts the stored data into data of a predetermined format based on the result of the comparison;
A computer system characterized by
請求項1の計算機システムであって、
前記処理計算機のそれぞれは、
前記記憶部が、前記データをメモリへ記憶すること、
を特徴とする計算機システム。
A computer system according to claim 1, wherein
Each of the processing computers is
The storage unit stores the data in a memory;
A computer system characterized by
請求項1の計算機システムであって、
前記処理計算機のそれぞれは、
前記記憶部が、前記データをファイルに格納すること、
を特徴とする計算機システム。
A computer system according to claim 1, wherein
Each of the processing computers is
The storage unit stores the data in a file;
A computer system characterized by
請求項1の計算機システムであって、
前記処理計算機のそれぞれは、
前記記憶部が、前記データをデータベースに格納すること、
を特徴とする計算機システム。
A computer system according to claim 1, wherein
Each of the processing computers is
The storage unit stores the data in a database;
A computer system characterized by
請求項1の計算機システムであって、
前記処理計算機のそれぞれは、
前記変換部が、前記記憶されたデータの変数名と同じ変数名を付して予め定められた形式のデータへ変換し、前記予め定められた形式のデータの変数名と同じ変数名と記憶位置とを対応付けて、前記記憶部に記憶する形式のデータへ変換し、当該変換したデータを前記記憶位置へ記憶すること、
を特徴とする計算機システム。
A computer system according to claim 1, wherein
Each of the processing computers is
The conversion unit attaches the same variable name as the stored data variable name and converts it into data of a predetermined format, and the same variable name and storage position as the variable name of the predetermined data format And converting the data into a format stored in the storage unit, and storing the converted data in the storage location,
A computer system characterized by
請求項1の計算機システムであって、
前記予め定められた形式はXML形式あるいはJSON形式であり、
前記処理装置のそれぞれは、
前記変換部が、前記記憶されたデータを前記XML形式あるいはJSON形式のデータへ変換し、前記XML形式あるいはJSON形式のデータを前記記憶部に記憶する形式のデータへ変換すること、
を特徴とする計算機システム。
A computer system according to claim 1, wherein
The predetermined format is an XML format or JSON format,
Each of the processing devices
The conversion unit converts the stored data into the XML format or JSON format data, and converts the XML format or JSON format data into data stored in the storage unit;
A computer system characterized by
異なる形式のデータを処理する複数の処理計算機と管理計算機とから構成された計算機システムの処理方法であって、
第1の前記処理計算機が前記処理の途中結果のデータを生成して記憶するステップと、
前記第1の処理計算機が前記生成して記憶したデータを予め定められた形式のデータへ変換して記憶するステップと、
前記第1の処理計算機が前記変換して記憶したデータを第2の前記処理計算機へ出力するステップと、
前記第2の処理計算機が前記出力されたデータを入力し、前記第2の処理計算機で処理可能な形式のデータへ変換して記憶するステップと、
前記第1の処理計算機が前記生成して記憶したデータに基づき次の処理を実行して第1の処理結果を前記管理計算機へ出力するステップと、
前記第2の処理計算機が前記変換して記憶したデータに基づき次の処理を実行して第2の処理結果を前記管理計算機へ出力するステップと、
前記管理計算機が前記第1の処理計算機と前記第2の処理計算機を含む複数の前記処理計算機それぞれから入力した前記第1の処理結果と前記第2の処理結果を含む処理結果を比較し、最も一致する数の多い前記処理の結果を前記計算機システムの外部へ出力するステップと、
を有することを特徴とする計算機システムの処理方法。
A processing method of a computer system composed of a plurality of processing computers and management computers that process data of different formats,
A step of generating and storing data of an intermediate result of the processing by the first processing computer;
Converting the data generated and stored by the first processing computer into data of a predetermined format and storing the data;
Outputting the data converted and stored by the first processing computer to the second processing computer;
The second processing computer inputs the output data, converts the data into a format that can be processed by the second processing computer, and stores the data;
Executing the following processing based on the data generated and stored by the first processing computer and outputting a first processing result to the management computer;
A step of executing a next process based on the data stored by the second processing computer after the conversion and outputting a second processing result to the management computer;
The management computer compares the first processing result input from each of the plurality of processing computers including the first processing computer and the second processing computer with the processing result including the second processing result, Outputting the result of the processing with a large number of matches to the outside of the computer system;
A processing method for a computer system, comprising:
JP2013219543A 2013-10-22 2013-10-22 Computer system and computer system processing method Pending JP2015082197A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013219543A JP2015082197A (en) 2013-10-22 2013-10-22 Computer system and computer system processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013219543A JP2015082197A (en) 2013-10-22 2013-10-22 Computer system and computer system processing method

Publications (1)

Publication Number Publication Date
JP2015082197A true JP2015082197A (en) 2015-04-27

Family

ID=53012769

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013219543A Pending JP2015082197A (en) 2013-10-22 2013-10-22 Computer system and computer system processing method

Country Status (1)

Country Link
JP (1) JP2015082197A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018182842A (en) * 2017-04-07 2018-11-15 三菱電機株式会社 Power system control system and control method therefor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018182842A (en) * 2017-04-07 2018-11-15 三菱電機株式会社 Power system control system and control method therefor

Similar Documents

Publication Publication Date Title
EP2634696B1 (en) Information processing apparatus, control method, and control program
US9798792B2 (en) Replication for on-line hot-standby database
US10025634B2 (en) Transparent high availability for stateful services
US9563452B2 (en) Cloud-enabled, distributed and high-availability system with virtual machine checkpointing
EP2610748A1 (en) Information processing apparatus, control program, and control method
US10740184B2 (en) Journal-less recovery for nested crash-consistent storage systems
US9069701B2 (en) Virtual machine failover
US9262090B2 (en) Asynchronous data mirroring in memory controller
US20140164710A1 (en) Virtual machines failover
US20130019083A1 (en) Redundant Transactional Memory
US12019523B2 (en) System and method for cloning as SQL server AG databases in a hyperconverged system
CN112131237A (en) Data synchronization method, device, equipment and computer readable medium
US9454445B2 (en) Fault tolerant server
WO2019109256A1 (en) Log management method, server and database system
US10341177B2 (en) Parallel computing system and migration method
WO2023155694A1 (en) Memory paging method and system, and storage medium
JP2015082197A (en) Computer system and computer system processing method
US9710298B2 (en) Information processing system, storage apparatus, and program
US10866756B2 (en) Control device and computer readable recording medium storing control program
US20240086327A1 (en) Pseudo Lock-Step Execution Across CPU Cores
JP2009098808A (en) Data update history storage device and data update history storage method
US20190138466A1 (en) Reflective memory bridge for external computing nodes