JP2019021257A - Multiplex system and method for resynchronization of multiplex system - Google Patents

Multiplex system and method for resynchronization of multiplex system Download PDF

Info

Publication number
JP2019021257A
JP2019021257A JP2017142028A JP2017142028A JP2019021257A JP 2019021257 A JP2019021257 A JP 2019021257A JP 2017142028 A JP2017142028 A JP 2017142028A JP 2017142028 A JP2017142028 A JP 2017142028A JP 2019021257 A JP2019021257 A JP 2019021257A
Authority
JP
Japan
Prior art keywords
task
tasks
state
cycle
start time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017142028A
Other languages
Japanese (ja)
Other versions
JP6824124B2 (en
Inventor
英宏 河合
Hidehiro Kawai
英宏 河合
雅昭 小川
Masaaki Ogawa
雅昭 小川
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 JP2017142028A priority Critical patent/JP6824124B2/en
Publication of JP2019021257A publication Critical patent/JP2019021257A/en
Application granted granted Critical
Publication of JP6824124B2 publication Critical patent/JP6824124B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Abstract

To complete resynchronization of each task processing states in a short length of time between a plurality of calculators while preventing a skip of cycles of cycle driving tasks.SOLUTION: The multiplex system makes the processing states of tasks accord to one another between calculators to be restored and calculators in an operating mode when all the tasks are stopped in the calculators, adjusts the time of initiation of cycles so that the cycle initiation times of a plurality of cycle driving tasks of all the tasks become the same on a regular basis, and stops the execution of the cycle driving task over a predetermined period of time immediately before when the cycle driving tasks of each task start at the same time.SELECTED DRAWING: Figure 3

Description

本発明は、多重系システム及び多重系システムにおける再同期方法に関し、特に、復旧対象の計算機について、そのタスクの処理状態を稼働中の計算機のタスクの処理状態に一致させることにより再同期して動作するように構成された多重系システムに適用して好適なものである。   The present invention relates to a multiplex system and a resynchronization method in the multiplex system, and in particular, for a computer to be restored, operates by resynchronizing by matching the task processing state of the task to the processing state of the task of the operating computer. This is suitable for application to a multiplex system configured as described above.

ある種の多重系システムでは複数の計算機が同期して動作する。すなわち、多重系システムでは、各計算機上では一つ以上のタスク(ソフトウェアプログラム)が動作し、これらのタスクに同一の入力を与え、同一の処理を実行させ、同一の出力を同一のタイミングで得る。そして、これらの出力を比較照合し、一致した場合のみシステムの外部に出力する。ここで、複数の計算機の一部の計算機が障害により動作を停止したとしても、残りの他の計算機が稼働し続ける限り、システム全体として無停止を実現することができる。   In a certain multisystem, a plurality of computers operate synchronously. That is, in a multisystem, one or more tasks (software programs) run on each computer, the same input is given to these tasks, the same processing is executed, and the same output is obtained at the same timing. . Then, these outputs are compared and collated, and if they match, they are output outside the system. Here, even if some of the plurality of computers stop operating due to a failure, as long as the remaining other computers continue to operate, it is possible to realize non-stop for the entire system.

しかしながら、停止中の計算機をそのままにしておくといずれ稼働中の計算機が存在しなくなるため、多重系システムはシステム全体として停止してしまう。そこで、多重系システムでは、復旧対象である当該停止中の計算機で駆動されるべきタスクの内部状態を稼働中の計算機のタスクの内部状態に一致させ、再び同期して動作させる。ここでいう「タスクの内部状態」は、タスクが動作をするために必要なデータ群を示しており、例えば、タスクが管理するメモリ内容、共有メモリの内容、記憶装置上のファイル及び通信バッファの内容が挙げられる。   However, if the stopped computer is left as it is, no operating computer will eventually exist, and the multiplex system will stop as a whole system. Therefore, in the multi-system, the internal state of the task to be driven by the stopped computer to be restored is matched with the internal state of the task of the operating computer, and is operated again in synchronization. The “internal state of the task” here indicates a data group necessary for the task to operate. For example, the memory contents managed by the task, the contents of the shared memory, the files on the storage device, and the communication buffer The contents are listed.

多重系システムにおける再同期方法として、三段階のフェーズに分けて実施する技術が存在している。第一のフェーズでは、動作中のタスクの実行を停止せずに稼働中の計算機のタスクの内部状態を全て復旧対象の計算機に転送する。第二のフェーズでは、稼働中の計算機のタスクの内部状態について前回転送時から更新された分を徐々に転送していく。この内部状態の更新量が十分少なくなったとき、第三のフェーズに移行する。第三のフェーズでは、稼働中の計算機において、タスクの内部状態を更新し得る全タスクを一時停止させ、前回転送してから更新されたタスクの内部状態を全て復旧対象の計算機に転送し、稼働中の計算機及び復旧対象の計算機のタスクの内部状態を一致させる。その後、停止中のタスクの実行を再開することで、停止中であった計算機は、稼働中の計算機と同様に同期しつつ動作するようになる。   As a resynchronization method in a multiplex system, there is a technique that is implemented in three phases. In the first phase, all the internal states of the running computer tasks are transferred to the computer to be restored without stopping the execution of the running task. In the second phase, the updated state of the internal state of the running computer task is gradually transferred. When the update amount of the internal state becomes sufficiently small, the process proceeds to the third phase. In the third phase, all the tasks that can update the internal state of the task are temporarily stopped in the operating computer, and all the internal state of the task that has been updated since the last transfer is transferred to the computer to be recovered and operated. The internal states of the tasks of the computer in the middle and the computer to be restored are matched. Thereafter, by restarting the execution of the stopped task, the stopped computer operates in synchronization with the operating computer.

ここで、第三フェーズにおいて、任意のタイミング、あるいは任意の期間、タスクの実行を一時停止させた場合、周期動作するタスクの周期抜けなどが発生する。これは、特にリアルタイム性を必要とする制御システムでは発生してはならない事象である。   Here, in the third phase, when the execution of a task is temporarily stopped at an arbitrary timing or an arbitrary period, a period of a task that periodically operates is lost. This is an event that should not occur particularly in a control system that requires real-time characteristics.

このような事象が発生しないようにするため、従来の多重系システムでは、外部ネットワークに接続される第一の計算機及び第二の計算機がそれぞれ、周期駆動ソフトウェアと、通信駆動ソフトウェアと、これらソフトウェアの駆動による処理データを記憶するメモリとを備えている(特許文献1参照)。第一の計算機は、第一の計算機及び第二の計算機に共通化した処理内容で複数の機能を発揮させるメモリ一致化機構、タイマ一致化機構及び受信一致化機構を備えることにより、メモリに記憶された処理データを第二の計算機に転送して周期抜け及び受信抜けを防止しつつ再同期させる。   In order to prevent such an event from occurring, in the conventional multiplex system, the first computer and the second computer connected to the external network are respectively the periodic drive software, the communication drive software, and the software. And a memory for storing processing data by driving (see Patent Document 1). The first computer stores in the memory by providing a memory matching mechanism, a timer matching mechanism, and a reception matching mechanism that perform a plurality of functions with the processing contents shared by the first computer and the second computer. The processed data is transferred to the second computer and resynchronized while preventing period omission and reception omission.

特開2009−217505号公報JP 2009-217505 A

近年、マルチコアプロセッサが普及しており、多数のタスクを並列に実行することができるようになっている。すなわち、複数の周期駆動タスク及びイベント駆動タスクを並列動作させたり、バッチ処理のような比較的処理時間が長いタスクを平行して実行させることが可能となっている。   In recent years, multi-core processors have become widespread, and a large number of tasks can be executed in parallel. In other words, a plurality of periodic drive tasks and event drive tasks can be operated in parallel, and tasks such as batch processing having a relatively long processing time can be executed in parallel.

しかしながら、多数の周期駆動タスク及び処理時間の長いタスクを並列動作させている場合、前述した方法による再同期は必ずしも望ましく機能しない。例えば、周期が1であり、平均処理時間が0.5で動作する二つの周期駆動タスクが動作している場合、一方の周期駆動タスクが当該周期の処理を終えて次の周期を待つ際に他方の周期駆動タスクが新しい周期の処理を開始すると、多重系システムでは、前述した第三フェーズの処理を実行するのに十分な時間を確保できず再同期に失敗し続けることになる。第三フェーズに亘って周期駆動タスクを一時的に停止することも考えられるが、周期抜けが発生したり応答性要件を満たさないおそれもある。一方、イベント駆動タスクも、その駆動契機及び処理時間によっては周期駆動タスクが次の周期を待っている間に亘って動作し続けてしまう状況があり得る。   However, resynchronization by the above-described method does not necessarily function when a large number of periodically driven tasks and tasks having a long processing time are operated in parallel. For example, when two periodic drive tasks that operate with a cycle of 1 and an average processing time of 0.5 are operating, when one periodic drive task finishes processing of that cycle and waits for the next cycle When the other periodic drive task starts processing of a new cycle, the multi-system system cannot secure sufficient time to execute the above-described third phase processing and continues to fail in resynchronization. Although it is conceivable to temporarily stop the periodic drive task over the third phase, there is a possibility that a period loss may occur or the responsiveness requirement may not be satisfied. On the other hand, depending on the driving trigger and processing time of the event-driven task, there may be a situation where the periodic drive task continues to operate while waiting for the next cycle.

本発明は以上の点を考慮してなされたもので、複数の計算機上でタスクが動作する多重系システムにおいてタスクの周期抜けを防止するとともに複数の計算機の間において短時間でタスクの処理状態の同期を完了することができる多重系システム及び多重系システムにおける再同期方法を提案しようとするものである。   The present invention has been made in consideration of the above points. In a multi-system system in which a task operates on a plurality of computers, the task cycle is prevented from being lost, and the task processing state can be quickly changed between the plurality of computers. The present invention intends to propose a multisystem that can complete synchronization and a resynchronization method in the multisystem.

かかる課題を解決するため、本発明においては、複数の計算機において各タスクが同一の処理を実行する多重系システムにおいて、前記複数の計算機において前記各タスクが全て停止中に、前記複数の計算機のうちの復旧対象の計算機についてそのタスクの処理状態を稼働中の計算機のタスクの処理状態に合わせることにより、前記複数の計算機の間において前記各タスクの処理状態を一致させて各タスクが再度前記同一の処理を同期して実行可能な状態とする状態一致化部と、前記各タスクのうち周期的に駆動する複数の周期駆動タスクの周期の開始時刻が定期的に揃うように前記複数の周期駆動タスクの周期の開始時刻を調整する開始時刻調整部と、前記複数の周期駆動タスクの開始時刻が揃う直前の所定期間に亘って前記複数の周期駆動タスク以外のタスクの実行を規制するタスク実行抑止部と、を備えることを特徴とする。   In order to solve such a problem, in the present invention, in a multi-system where each task executes the same process in a plurality of computers, all of the tasks are stopped in the plurality of computers. By matching the task processing state of the recovery target computer to the processing state of the task of the running computer, the processing state of each task is matched between the plurality of computers, and each task is again the same The state matching unit for enabling processing to be executed synchronously, and the plurality of periodic driving tasks so that the start times of the periodic driving tasks periodically driven among the tasks are periodically aligned A start time adjusting unit that adjusts the start time of the plurality of periodic drives, and the plurality of periodic drives over a predetermined period immediately before the start times of the plurality of periodic drive tasks are aligned. And task execution inhibiting unit to restrict the execution of non-task task, in that it comprises the features.

また、本発明においては、複数の計算機において各タスクが同一の処理を実行する多重系システムにおける再同期方法において、前記多重系システムが、前記複数の計算機において前記各タスクが全て停止中に、前記複数の計算機のうちの復旧対象の計算機についてそのタスクの処理状態を稼働中の計算機のタスクの処理状態に合わせることにより、前記複数の計算機の間において前記各タスクの処理状態を一致させて記各タスクが再度前記同一の処理を同期して実行可能な状態とする状態一致化ステップと、前記多重系システムが、前記各タスクのうち周期的に駆動する複数の周期駆動タスクの周期の開始時刻が定期的に揃うように前記複数の周期駆動タスクの周期の開始時刻を調整する開始時刻調整ステップと、前記多重系システムが、前記複数の周期駆動タスクの開始時刻が揃う直前の所定期間に亘って前記複数の周期駆動タスク以外のタスクの実行を規制するタスク実行抑止ステップと、を有することを特徴とする。   Further, in the present invention, in a resynchronization method in a multi-system where each task executes the same processing in a plurality of computers, the multi-system is in a state where all the tasks are stopped in the plurality of computers. By matching the processing state of the task with the processing state of the task of the computer in operation for the computer to be restored among the plurality of computers, the processing state of each task is matched between the plurality of computers. A state matching step in which a task is again ready to execute the same process in synchronization, and a start time of a period of a plurality of periodically driven tasks that the multi-system system periodically drives among the tasks. A start time adjustment step of adjusting a start time of a period of the plurality of periodic drive tasks so as to be regularly arranged, and the multi-system system, A task execution suppression step of regulating the execution of a task other than the plurality of periodic driving task over a predetermined time period immediately before the serial start time of a plurality of periodic driving task is aligned, and having a.

本発明によれば、複数の計算機上でタスクが動作する多重系システムにおいてタスクの周期抜けを防止するとともに複数の計算機の間において短時間でタスクの処理状態の同期を完了することができる。   According to the present invention, it is possible to prevent a task from being missed in a multiplex system in which tasks operate on a plurality of computers, and to complete synchronization of task processing states among a plurality of computers in a short time.

第1の実施の形態による多重系システムの概略構成例を示すブロック図である。1 is a block diagram illustrating a schematic configuration example of a multiplex system according to a first embodiment. FIG. 図1に示す計算機の構成例を示すブロック図である。It is a block diagram which shows the structural example of the computer shown in FIG. 計算機において動作するソフトウェア及びテーブルの構成例を示すブロック図である。It is a block diagram which shows the example of a structure of the software and table which operate | move in a computer. 再同期周期管理テーブルの具体例である。It is a specific example of a resynchronization period management table. 周期駆動タスク管理テーブルの具体例である。It is a specific example of a periodic drive task management table. 周期駆動タスクの動作の一例を示すフローチャートである。It is a flowchart which shows an example of operation | movement of a period drive task. イベント駆動タスクの動作の一例を示すフローチャートである。It is a flowchart which shows an example of operation | movement of an event drive task. 周期駆動タスクの周期タイマ登録処理の一例を示すフローチャートである。It is a flowchart which shows an example of the period timer registration process of a period drive task. 図17及び図18を説明するための再同期周期管理テーブルの具体例である。FIG. 19 is a specific example of a resynchronization cycle management table for explaining FIGS. 17 and 18. FIG. 図17及び図18を説明するための周期駆動タスク管理テーブルの具体例である。FIG. 19 is a specific example of a periodic drive task management table for explaining FIGS. 17 and 18; FIG. 状態一致化処理の一例を示すフローチャートである。It is a flowchart which shows an example of a state matching process. 図11に示す状態一致化処理におけるタスクの処理状態の更新箇所抽出処理の一例を示すフローチャートである。It is a flowchart which shows an example of the update location extraction process of the process state of the task in the state matching process shown in FIG. 図11に示す更新済処理状態転送処理の詳細な内容の一例を示すフローチャートである。It is a flowchart which shows an example of the detailed content of the updated process state transfer process shown in FIG. 状態一致化処理の一例を示すフローチャートである。It is a flowchart which shows an example of a state matching process. 再同期中断タイマが作動した際の処理の一例を示すフローチャートである。It is a flowchart which shows an example of a process when the resynchronization interruption timer act | operates. タスク実行可否判定処理の一例を示すフローチャートである。It is a flowchart which shows an example of a task execution availability determination process. 第2の実施の形態における周期タイマ登録処理の一例を示すフローチャートである。It is a flowchart which shows an example of the periodic timer registration process in 2nd Embodiment. 図17において次の再同期周期開始時刻を算出する方法の一例を示すフローチャートである。It is a flowchart which shows an example of the method of calculating the next resynchronization period start time in FIG.

以下、図面について、本発明の一実施の形態について詳述する。ある種の多重系システムでは、複数の計算機におけるタスクの内部状態の同期方法(以下「再同期方法」ともいう)を、第一のフェーズ、第二のフェーズ及び第三のフェーズという3段階のフェーズに分けて実施している。   Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings. In a certain type of multi-system, a method of synchronizing internal states of tasks in a plurality of computers (hereinafter also referred to as “resynchronization method”) is divided into three phases: a first phase, a second phase, and a third phase. It is divided and implemented.

具体的には、第一のフェーズにおいては、動作中のタスクの実行を停止せずに稼働中の計算機のタスクの内部状態を全て復旧対象の計算機に転送する。第二のフェーズにおいては、稼働中の計算機のタスクの内部状態のうち前回転送した時から更新された分を徐々に転送していく。この内部状態の更新量が十分少なくなると、次のような第三のフェーズに移行する。   Specifically, in the first phase, all the internal states of the tasks of the operating computer are transferred to the recovery target computer without stopping the execution of the running task. In the second phase, the updated portion of the internal state of the running computer task is transferred gradually. When the update amount of the internal state becomes sufficiently small, the process proceeds to the third phase as follows.

第三のフェーズにおいては、まず、稼働中の計算機において、タスクの内部状態を更新し得る全タスクを一時停止させ、前回転送してから更新されたタスクの内部状態を全て復旧対象の計算機に転送し、稼働中の計算機及び復旧対象の計算機のタスクの内部状態を一致させる。その後、停止中のタスクの実行を再開することで、復旧対象の計算機は、上述した稼働中の計算機と同様に、同期して動作するようになる。   In the third phase, first, in the operating computer, all tasks that can update the internal state of the task are suspended, and all the internal state of the task that has been updated since the last transfer is transferred to the computer to be restored. Then, the internal states of the tasks of the operating computer and the recovery target computer are matched. Thereafter, by resuming the execution of the stopped task, the computer to be restored operates in synchronism with the operating computer described above.

本実施の形態では、このような多重系システムにおいてそのような第三フェーズを、後述するように新たな第三フェーズと第四フェーズとに分けて実施することにより、復旧対象の計算機を稼働中の計算機に再同期させている。以下、具体的に説明する。   In this embodiment, in such a multiplex system, the third phase is divided into a new third phase and a fourth phase as will be described later, so that the computer to be restored is in operation. Re-synchronized with the computer. This will be specifically described below.

(1)第1の実施の形態
(1−1)ハードウェア構成例
図1は、第1の実施の形態による多重系システム1の概略構成例を示す。
多重系システム1は、複数のタスクが稼働する複数の計算機10〜12を備えており、一例として計算機10〜12を備えている。各計算機10〜12は、内部ネットワーク50を介して互いに情報を交換する。
(1) First Embodiment (1-1) Hardware Configuration Example FIG. 1 shows a schematic configuration example of a multiplex system 1 according to the first embodiment.
The multiplex system 1 includes a plurality of computers 10 to 12 on which a plurality of tasks operate, and includes the computers 10 to 12 as an example. The computers 10 to 12 exchange information with each other via the internal network 50.

上述した各計算機10〜12上では、同一のタスク群が同期しながら動作する。すなわち、各計算機10〜12上で動作する各タスクは、外部装置40または照合装置30から、内部ネットワーク50及び通信装置104を介して同一のデータを受信し、同一のタイミングで同一の処理を実行し、同一の処理結果を得る。各タスクは、内部ネットワーク50を介して照合装置30に対して、上記処理の結果を出力する。   On each of the computers 10 to 12 described above, the same task group operates in synchronization. That is, each task operating on each of the computers 10 to 12 receives the same data from the external device 40 or the collation device 30 via the internal network 50 and the communication device 104, and executes the same processing at the same timing. And the same processing result is obtained. Each task outputs the result of the above process to the verification device 30 via the internal network 50.

照合装置30は、各計算機10〜12から受信した上記処理の結果を比較し、正しいと判定された処理結果のみを外部装置40に出力する。なお、各計算機10〜12上では、上記処理の結果に影響を与えない限り、それらのタスクに同期して動作しない他のタスクが動作してもよい。   The collation device 30 compares the processing results received from the computers 10 to 12 and outputs only the processing results determined to be correct to the external device 40. On each of the computers 10 to 12, other tasks that do not operate in synchronization with these tasks may operate as long as the results of the above processing are not affected.

図2は、図1に示す計算機10の構成例を示す。計算機11,12は、計算機10と同様な構成であるため、これらについては説明を省略する。   FIG. 2 shows a configuration example of the computer 10 shown in FIG. Since the computers 11 and 12 have the same configuration as the computer 10, description thereof is omitted.

計算機10は、少なくとも上記処理を実行するタスク(ソフトウェアプログラム)及びデータ等を格納するメモリ102と、メモリ102上のソフトウェアプログラムを実行するCPU(Central Processing Unit)101と、データが格納される記憶装置103と、内部ネットワーク50を介してデータを送受信する通信装置104と、計時機能によってタスクの起床タイミングを制御するタイマ装置106と、を備えている。なお、照合装置30及び外部装置40は、計算機10と同様のハードウェア構成としても良いため、その説明を省略する。   The computer 10 includes a memory 102 for storing at least a task (software program) for executing the above processing, data, and the like, a CPU (Central Processing Unit) 101 for executing a software program on the memory 102, and a storage device for storing data 103, a communication device 104 that transmits and receives data via the internal network 50, and a timer device 106 that controls the wake-up timing of the task by a time measuring function. Note that the collation device 30 and the external device 40 may have the same hardware configuration as that of the computer 10, and thus description thereof is omitted.

(1−2)ソフトウェア構成例
図3は、計算機10において動作するソフトウェア及びテーブルの構成例を示すブロック図である。なお、計算機11,12も、計算機10と同様なソフトウェア及びテーブルを備えるため、これらの説明を省略する。
(1-2) Software Configuration Example FIG. 3 is a block diagram illustrating a configuration example of software and a table operating in the computer 10. Note that the computers 11 and 12 also have the same software and tables as the computer 10 and therefore will not be described.

計算機10は、再同期部70、タスクスケジューラ80、タイマ部81、タスク90、再同期周期管理テーブル600及び周期駆動タスク管理テーブル700を備えている。   The computer 10 includes a resynchronization unit 70, a task scheduler 80, a timer unit 81, a task 90, a resynchronization cycle management table 600, and a cycle driven task management table 700.

タスク90は、当該多重系システムにおいて業務を行うソフトウェアプログラムの集合である。このタスク90は、周期的に駆動される周期駆動タスク、周期駆動タスクではないタスクであって所定の契機で駆動するタスク(以下「イベント駆動タスク」という)、及び、バッチ処理等を実行するタスクを含んでいる。   The task 90 is a set of software programs that perform business in the multisystem. This task 90 is a periodically driven task that is periodically driven, a task that is not a periodically driven task and that is driven at a predetermined trigger (hereinafter referred to as “event driven task”), a task that executes batch processing, and the like. Is included.

タスクスケジューラ80は、タスク90またはその他ソフトウェアプログラムが実行可能な状態にある際、所定のアルゴリズムに基づきそのうちの一つを選択し、CPU101にこの選択した1つを実行させる。計算機10〜12が複数のCPU101を備えている場合、各CPU101ごとに上記タスクなどが選択され実行される。   When the task 90 or the other software program is in an executable state, the task scheduler 80 selects one of them based on a predetermined algorithm, and causes the CPU 101 to execute the selected one. When the computers 10 to 12 are provided with a plurality of CPUs 101, the above tasks and the like are selected and executed for each CPU 101.

タイマ部81は、少なくとも、周期駆動タスクが一定の周期で駆動するための契機を与えたり、タイムアウト処理を実現するための機能を提供する。例えば、後述する図5に示す行710のように、周期開始時刻703が100であり、かつ、周期T(周期704の値に相当)が3である周期駆動タスク(タスク識別子=3であるタスク)が登録されている場合、タイマ部81は、時刻が100,103,106のタイミングにおいて、タスク識別子701が1であるタスクに駆動の契機を与える。   The timer unit 81 provides at least a function for giving a trigger for the periodic drive task to be driven at a constant cycle and realizing a timeout process. For example, as in a row 710 shown in FIG. 5 to be described later, a periodic drive task (task identifier = 3) whose cycle start time 703 is 100 and whose cycle T (corresponding to the value of the cycle 704) is 3. ) Is registered, the timer unit 81 gives a driving trigger to the task having the task identifier 701 of 1 at the timings of 100, 103, and 106.

再同期部70は、復旧対象である計算機11のタスクの処理状態を、稼働中の計算機10のタスクの処理状態に一致させ、この計算機11を再び稼働中の状態にし、多重系を構成する残りの計算機12と同期して動作させるための機能を提供する。   The resynchronization unit 70 matches the task processing state of the computer 11 to be restored with the processing state of the task of the operating computer 10, sets the computer 11 to the operating state again, and configures the rest of the multiplex system. A function for operating in synchronization with the computer 12 is provided.

再同期部70は、タスク実行抑止部71及び状態一致化部72を備えている。稼働中または停止中であるかに関わらず、計算機10のみならず計算機11,12は、計算機10と同様に構成されている。ここで、一例として、複数の計算機10〜12のうち計算機10を稼働中の計算機と仮定する一方、残りの計算機11,12のうち計算機11を再同期させる必要がある復旧対象の計算機と仮定する。   The resynchronization unit 70 includes a task execution suppression unit 71 and a state matching unit 72. Regardless of whether it is operating or stopped, not only the computer 10 but also the computers 11 and 12 are configured in the same manner as the computer 10. Here, as an example, it is assumed that the computer 10 out of the plurality of computers 10 to 12 is an operating computer, while the computer 11 among the remaining computers 11 and 12 is a computer to be restored that needs to be resynchronized. .

計算機10の状態一致化部72は、再同期の開始要求を受け取ると、タスクの状態の内容またはその差分を、内部ネットワーク50を介して送信し、計算機11の状態一致化部72がこれを受信する。さらに計算機11の状態一致化部72は、予め起動しておいたタスク群に対し、上記受信したタスクの状態の内容またはその差分を反映させる。なお、状態一致化部72による詳細な処理内容については後述する。   When the state matching unit 72 of the computer 10 receives the resynchronization start request, the state matching unit 72 of the computer 11 transmits the task state content or the difference thereof via the internal network 50. To do. Further, the state matching unit 72 of the computer 11 reflects the contents of the received task state or the difference thereof on the task group activated in advance. Details of processing performed by the state matching unit 72 will be described later.

再同期周期管理テーブル600は、全ての周期駆動タスクの周期の開始時刻が一致する時刻及び周期を管理する。各周期駆動タスクは、当該周期の処理を終えた後、次の周期の開始時刻までに亘って何も実行しない状態(アイドル状態)となる。このため、上記周期の開始時刻が一致する時刻の直前の一定期間に亘って、周期駆動タスクが動作を開始しないことが期待される。この期間は、再同期処理の第三フェーズ以降を実施する期間として好適である。再同期周期管理テーブル600の詳細な構成については後述する。   The resynchronization cycle management table 600 manages the times and cycles at which the start times of the cycles of all the cycle-driven tasks match. Each cycle driving task is in a state (idle state) in which nothing is executed until the start time of the next cycle after finishing the processing of the cycle. For this reason, it is expected that the periodic drive task does not start operation over a certain period immediately before the time at which the start times of the cycles coincide. This period is suitable as a period for performing the third and subsequent phases of the resynchronization process. A detailed configuration of the resynchronization cycle management table 600 will be described later.

周期駆動タスク管理テーブル700は、稼働中の周期駆動タスクごとに、初回周期の開始時刻と、駆動される周期Tとを管理する。タスクスケジューラ80及びタイマ部81は、周期駆動タスク管理テーブル700を参照し、上述のように管理された適切なタイミングにおいて各周期駆動タスクを駆動する。周期駆動タスク管理テーブル700の詳細な構成については後述する。   The periodic drive task management table 700 manages the start time of the initial period and the driven period T for each active periodic drive task. The task scheduler 80 and the timer unit 81 refer to the periodic drive task management table 700 and drive each periodic drive task at an appropriate timing managed as described above. The detailed configuration of the periodic drive task management table 700 will be described later.

図4は、再同期周期管理テーブル600の一例を示す。再同期周期管理テーブル600は、そのカラムとして、更新時刻601、再同期周期開始時刻t、及び再同期周期Tを有する。 FIG. 4 shows an example of the resynchronization cycle management table 600. Resynchronization cycle management table 600 has as its columns, update time 601, the resynchronization period start time t R, and the resynchronization period T R.

更新時刻601は、当該行を更新した時刻を示す。再同期周期開始時刻602は、稼働中の全周期駆動タスクの周期開始時刻が一致する時刻の一つを表す。再同期周期603は、上述した一致する時刻と次に一致する時刻との時間間隔を表す。   The update time 601 indicates the time when the row is updated. The resynchronization cycle start time 602 represents one of the times at which the cycle start times of all the cycle driving tasks that are in operation match. The resynchronization period 603 represents a time interval between the above-mentioned coincidence time and the next coincidence time.

再同期周期管理テーブル600は、周期駆動タスクが、後述する周期タイマ登録処理を実施する度に更新される。図示の例では、更新時刻601が100である時に行610の内容が登録され、更新時刻601が104である時に行620の内容が登録されたことを示す。   The resynchronization cycle management table 600 is updated each time the cycle drive task performs a cycle timer registration process described later. In the illustrated example, the content of the row 610 is registered when the update time 601 is 100, and the content of the row 620 is registered when the update time 601 is 104.

この再同期周期管理テーブル600は、実際には、このように過去の更新履歴(更新時刻601が100である時の行610の内容に相当)を保持する必要はなく、最新の再同期周期開始時刻t(再同期周期開始時刻602の値に相当)及び再同期周期T(再同期周期603の値に相当)のみ(行620の内容に相当)を保持していれば十分である。 The resynchronization cycle management table 600 does not actually need to hold the past update history (corresponding to the contents of the row 610 when the update time 601 is 100) in this way, and starts the latest resynchronization cycle. It is sufficient to hold only the time t R (corresponding to the value of the resynchronization cycle start time 602) and the resynchronization cycle T R (corresponding to the value of the resynchronization cycle 603) (corresponding to the contents of the row 620).

図5は、周期駆動タスク管理テーブル700の一例を示す。周期駆動タスク管理テーブル700は、そのカラムとして、タスク識別子701、要求周期開始時刻702、周期開始時刻703及び周期704を有する。   FIG. 5 shows an example of the periodic drive task management table 700. The periodical task management table 700 has a task identifier 701, a request period start time 702, a period start time 703, and a period 704 as its columns.

タスク識別子701は、タイマ作動時に駆動させる周期駆動タスクを特定するための識別子である。要求周期開始時刻702は、初回周期の開始時刻として指示された時刻を示す。図示の例においては、タスク識別子が1であるタスクについて、当該初回周期の開始時刻が周期タイマ登録を実施しようとした時刻と同一であることを仮定している。周期開始時刻703は、周期開始時刻の調整機能により調整された初回周期の開始時刻を示しており、要求周期開始時刻702以降の時刻となる。   The task identifier 701 is an identifier for specifying a periodic drive task to be driven when the timer is activated. The request cycle start time 702 indicates the time indicated as the start time of the initial cycle. In the illustrated example, it is assumed that the start time of the initial cycle is the same as the time at which the cycle timer registration is to be performed for the task whose task identifier is 1. The cycle start time 703 indicates the start time of the initial cycle adjusted by the cycle start time adjustment function, and is the time after the request cycle start time 702.

周期704は、周期駆動タスクから要求された周期を示しており、当該周期タスクが周期処理を実行する時間間隔を表している。例えば、行710の内容によれば、タスク識別子701が1であるタスクは、開始時刻が100である時点から周期3ごとに、時刻100,103,106において起動されることを意味している。   A period 704 indicates a period requested from the periodic drive task, and represents a time interval at which the periodic task executes periodic processing. For example, according to the contents of the row 710, it means that the task whose task identifier 701 is 1 is started at the time 100, 103, 106 every cycle 3 from the time when the start time is 100.

(1−3)多重系システムにおける再同期方法
(1−3−1)周期駆動タスクの動作例
図6は、周期駆動タスクの周期駆動タスク処理の一例を示す。周期駆動タスクは、起動が開始されると、初期化処理としてタスクの状態の初期化等を行う(ステップS401)。
(1-3) Resynchronization Method in Multiplexed System (1-3-1) Operation Example of Periodic Drive Task FIG. 6 shows an example of the periodic drive task processing of the periodic drive task. When the activation of the periodic drive task is started, the task state is initialized as an initialization process (step S401).

次に周期タイマ登録処理が実施され(ステップS402)、この周期タイマ登録処理によって設定された所定の周期でタイマ部81が作動するようにする。このとき、初めて当該タイマ部81が作動する時刻も併せて指定される。   Next, a periodic timer registration process is performed (step S402), and the timer unit 81 is operated at a predetermined period set by the periodic timer registration process. At this time, the time when the timer unit 81 operates for the first time is also specified.

その後、タイマ部81が作動するまで待ち処理を実行し続け(ステップS403)、タイマ部81が作動した後、当該周期における周期処理を実施する(ステップS404)。この周期処理では、周期駆動タスクの処理状態に従って一意に動作するものとし、処理結果は周期駆動タスクの処理状態に反映され、次の周期以降でも利用する。周期駆動タスクは、周期処理を終えると、ステップS403に戻り、再び待ち処理を続ける。なお、周期タイマ登録の詳細については後述する。   Thereafter, the waiting process continues to be executed until the timer unit 81 is activated (step S403), and after the timer unit 81 is activated, the periodic process in the cycle is performed (step S404). In this periodic processing, it is assumed that the operation is uniquely performed according to the processing state of the periodic driving task, and the processing result is reflected in the processing state of the periodic driving task, and is used after the next period. When the periodic process ends, the periodic drive task returns to step S403 and continues the waiting process again. Details of the cycle timer registration will be described later.

(1−3−2)イベント駆動タスクの動作例
図7は、イベント駆動タスクによるイベント駆動タスク処理の一例を示す。イベント駆動タスクは、起動が開始されると、初期化処理として、例えばタスクの状態の初期化を実行する(ステップS501)。イベント駆動タスクは、その後、当該タスクの起床要因となるイベントが発生するまで実行を停止する(ステップS502)。起床要因となるイベント発生後、イベント駆動タスクは、タスク実行可否判定を行う(ステップS503)。
(1-3-2) Operation Example of Event Driven Task FIG. 7 shows an example of event drive task processing by the event drive task. When the event-driven task is started, for example, initialization of the task state is executed as initialization processing (step S501). Thereafter, the event-driven task stops execution until an event that causes the task to wake up occurs (step S502). After the occurrence of an event that causes a wake-up factor, the event-driven task determines whether or not the task can be executed (step S503).

実行抑止と判定された場合は、イベント駆動タスクは、その実行抑止が解除されるまでの間に亘って実行を一時停止する。タスク実行可否判定の詳細は後述する。一方、タスク実行可否判定において実行可と判定された場合、イベント駆動タスクは、イベント処理を実行する(ステップS504)。   If it is determined that execution is to be inhibited, the event-driven task pauses execution until the execution inhibition is canceled. Details of the task execution availability determination will be described later. On the other hand, when it is determined that the task can be executed in the task execution enable / disable determination, the event-driven task executes event processing (step S504).

イベント処理では、イベント駆動タスクが、前述したタスクの処理状態に従って一意に動作するものとし、処理結果はタスクの処理状態に反映され、次回以降の起床時でも利用する。イベント駆動タスクは、イベント処理を終えるとステップS502に戻り、再びイベントの待ち処理を継続する。   In event processing, it is assumed that an event-driven task operates uniquely according to the processing state of the task described above, and the processing result is reflected in the processing state of the task and is used at the next and subsequent wake-ups. When the event-driven task finishes the event process, the event-driven task returns to step S502 and continues the event wait process again.

(1−3−3)多重系システムによる再同期方法
多重系システム1は以上のような構成であり、次にその動作例として、多重系システム1における再同期方法について説明する。本実施の形態では、多重系システム1における再同期方法として、周期駆動タスクの開始周期を調整している。以下に説明する図8〜10は、当該調整機能の一例を示すフローチャートである。
(1-3-3) Re-synchronization method by multi-system system The multi-system system 1 has the above-described configuration. Next, as an operation example, a resynchronization method in the multi-system system 1 will be described. In the present embodiment, as a resynchronization method in the multiplex system 1, the start period of the periodic drive task is adjusted. 8 to 10 described below are flowcharts showing an example of the adjustment function.

図8は、周期駆動タスクの周期タイマ登録処理(図6のステップS402参照)の詳細な一例を示す。ここでは、要求周期開始時刻がtreq(要求周期開始時刻702)であり、かつ、周期がT(周期704の値に相当)である周期タイマ登録要求があった場合を例示している。 FIG. 8 shows a detailed example of the periodic timer registration process (see step S402 in FIG. 6) of the periodic drive task. Here, a case where there is a cycle timer registration request whose request cycle start time is t req (request cycle start time 702) and whose cycle is T (corresponding to the value of cycle 704) is illustrated.

まず、タイマ部81は、再同期周期管理テーブル600が空かである否かをチェックする(ステップS801)。タイマ部81は、再同期周期管理テーブル600が空であった場合、周期開始時刻t(周期開始時刻703の値に相当)にtreqを代入し(ステップS802)、再同期周期開始時刻t(再同期周期開始時刻602の値に相当)にtreqを代入するとともに、再同期周期T(再同期周期603の値に相当)にTを代入する(ステップS803)。 First, the timer unit 81 checks whether or not the resynchronization cycle management table 600 is empty (step S801). If the resynchronization cycle management table 600 is empty, the timer unit 81 substitutes t req for the cycle start time t (corresponding to the value of the cycle start time 703) (step S802), and the resynchronization cycle start time t R. While substituting t req for the value of resynchronization cycle start time 602, T is substituted for the resynchronization cycle T R (corresponding to the value of resynchronization cycle 603) (step S803).

一方、タイマ部81は、再同期周期管理テーブル600が空でなかった場合、tを次の再同期周期開始時刻にセットする(ステップS805)。すなわち、タイマ部81は、treq<+n・T=t(nは整数)を満たす最小のtを求める。 On the other hand, if the resynchronization cycle management table 600 is not empty, the timer unit 81 sets t to the next resynchronization cycle start time (step S805). That is, the timer unit 81 obtains the minimum t that satisfies t req < t R + n · T R = t (n is an integer).

続けて、タイマ部81は、再同期周期開始時刻tに上記tをセットし(ステップS806)、さらに再同期周期Tを全周期駆動タスク(当該周期駆動タスクを含む)の周期704の最小公倍数にセットする(ステップS807)。最後にタイマ部81は、周期駆動タスク管理テーブル700の新規行に、当該周期駆動タスクに関する周期開始時刻t及び周期Tを登録する(ステップS804)。 Subsequently, the timer unit 81, the re-synchronization period start time t R sets the t (step S806), further minimum period 704 in the resynchronization period T R total cycle driving task (including the periodic driving task) The common multiple is set (step S807). Finally, the timer unit 81 registers the period start time t and the period T related to the periodic drive task in a new row of the periodic drive task management table 700 (step S804).

ここで、図8の具体的な処理の流れについて、図6及び図7の具体例を用いて説明する。初期状態として、図6に示す再同期周期管理テーブル600及び図7に示す周期駆動タスク管理テーブル700は空であるとする。本実施の形態では、その後、時刻が100である時に周期が3(周期704の値に相当)であり、時刻が104である時に周期が4であり、時刻が110である時に周期が6である、周期タイマを登録する場合を考える。   Here, the specific processing flow of FIG. 8 will be described using the specific examples of FIGS. As an initial state, it is assumed that the resynchronization cycle management table 600 shown in FIG. 6 and the periodic drive task management table 700 shown in FIG. 7 are empty. In this embodiment, after that, when the time is 100, the cycle is 3 (corresponding to the value of the cycle 704), when the time is 104, the cycle is 4, and when the time is 110, the cycle is 6. Consider a case where a periodic timer is registered.

まず、時刻が100である時、再同期周期管理テーブル600は空であるため、タイマ部81は、再同期周期管理テーブル600に、再同期周期開始時刻602を100にセットするとともに再同期周期603を3にセットする。さらにタイマ部81は、周期駆動タスク管理テーブル700に、周期開始時刻が100であり、かつ、周期が3であるエントリ(タスク識別子が1であるタスクに相当)を登録する。   First, when the time is 100, since the resynchronization cycle management table 600 is empty, the timer unit 81 sets the resynchronization cycle start time 602 to 100 in the resynchronization cycle management table 600 and the resynchronization cycle 603. Is set to 3. Furthermore, the timer unit 81 registers an entry (corresponding to a task having a task identifier of 1) having a cycle start time of 100 and a cycle of 3 in the periodic drive task management table 700.

次にタイマ部81は、周期駆動タスク管理テーブル700に、時刻が104である時に周期704が4である周期タイマを登録する。次の再同期周期の開始時刻は100+2・3=106であるため、タイマ部81は、周期駆動タスク管理テーブル700に、周期開始時刻703に106をセットする。タイマ部81は、再同期周期管理テーブル600において再同期周期開始時刻602を同様に106に更新し、再同期周期を、3と4の公倍数である12に更新する。   Next, the timer unit 81 registers a periodic timer whose period 704 is 4 when the time is 104 in the periodic drive task management table 700. Since the start time of the next resynchronization cycle is 100 + 2 · 3 = 106, the timer unit 81 sets 106 to the cycle start time 703 in the cycle drive task management table 700. The timer unit 81 similarly updates the resynchronization cycle start time 602 to 106 in the resynchronization cycle management table 600, and updates the resynchronization cycle to 12 which is a common multiple of 3 and 4.

続いて、タイマ部81は、時刻が110である時に周期が6である周期タイマを登録する。次の再同期周期の開始時刻は106+1・12=118であるので、タイマ部81は、周期駆動タスク管理テーブル700において、周期開始時刻703を118とするとともに周期を6(周期704の値に相当)として登録する。再同期周期603は、3と4と6との最小公倍数である12と更新すべきであるが、現在の値と等しい場合、タイマ部81は、再同期周期管理テーブル600を更新しなくても良い。   Subsequently, the timer unit 81 registers a periodic timer having a period of 6 when the time is 110. Since the start time of the next resynchronization cycle is 106 + 1 · 12 = 118, the timer unit 81 sets the cycle start time 703 to 118 and sets the cycle to 6 (corresponding to the value of the cycle 704) in the periodic drive task management table 700. ). The resynchronization period 603 should be updated to 12, which is the least common multiple of 3, 4, and 6. However, if the resynchronization period 603 is equal to the current value, the timer unit 81 does not need to update the resynchronization period management table 600. good.

以上のような手順によると、少なくとも全周期駆動タスクの周期の最小公倍数で表される周期にて、全周期駆動タスクの周期の開始時刻が一致する時刻が現れる。すなわち、上記一致する時刻の直前は、最も長時間に亘って、周期駆動タスクが動作しない時間帯であることが期待できる。つまり、遅くとも、上記最小公倍数で示される周期時間を待てば、周期駆動タスクの実行を阻害することなく、例えば複数の計算機10,11の間における再同期を完了可能となることが期待される。   According to the procedure as described above, a time at which the start times of the cycles of the all-cycle driving task coincide with each other at least in the cycle represented by the least common multiple of the cycles of the all-cycle driving task. That is, it can be expected that immediately before the coincident time is a time zone in which the periodic drive task does not operate for the longest time. That is, it is expected that resynchronization between a plurality of computers 10 and 11 can be completed, for example, without hindering the execution of the periodic drive task by waiting for the cycle time indicated by the least common multiple at the latest.

次に、再同期部70のメイン処理である状態一致化部72について説明する。ここで、一致させる状態について補足しておく。実際に再同期を実現するためには様々な「処理状態」を一致させる必要がある。このような処理状態は、例えば、各タスクのメモリ内容、共有メモリ、ファイル及び通信バッファに関する状態である。本実施の形態では、例えば照合装置30の共有メモリ上に全ての処理状態が格納されていると仮定し、処理状態の一致化をするものとして説明する。その理由としては、一般に状態一致化のために必要な転送データの多くはメモリ上に格納された処理データであり、それ以外の処理状態の転送は短時間で実施できることが見込まれるためである。共有メモリに対して状態一致化できれば、タスクのプライベートなメモリに対して応用することもできる。   Next, the state matching unit 72 that is the main process of the resynchronization unit 70 will be described. Here, it supplements about the state made to correspond. In order to actually realize resynchronization, it is necessary to match various “processing states”. Such a processing state is, for example, a state relating to the memory contents, shared memory, file, and communication buffer of each task. In this embodiment, for example, it is assumed that all processing states are stored in the shared memory of the collation device 30 and the processing states are matched. This is because most of transfer data necessary for state matching is generally processing data stored in a memory, and transfer of other processing states is expected to be performed in a short time. If the state of the shared memory can be matched, it can be applied to a task private memory.

図11は、状態一致化処理の一例を示す。この状態一致化処理は、状態一致化部72によって、前述した第一フェーズ及び第二フェーズとして実行される処理である。   FIG. 11 shows an example of the state matching process. This state matching process is a process executed by the state matching unit 72 as the first phase and the second phase described above.

状態一致化部72は、計算機10の起動に併せて起動される。状態一致化部72は、再同期状態を「停止中」にセットし(ステップS1301)、再同期要求が発生するまで待機処理を実行する(ステップS1302)。   The state matching unit 72 is activated when the computer 10 is activated. The state matching unit 72 sets the resynchronization state to “stopped” (step S1301), and executes standby processing until a resynchronization request is generated (step S1302).

状態一致化部72は、その後再同期要求が発生すると、再同期状態を「第一フェーズ」にセットし(ステップS1303)、タスクの処理状態の更新記録を開始する(ステップS1304)。ここでいうタスクの処理状態とは、例えばメモリ102上に置かれたデータのうち、タスクの処理内容を一意に定め得るデータを示す。このようにタスクの処理状態がメモリ102上のデータを指す場合、更新を記録する方法としては、ページテーブルのダーティビットを使用する方法が存在している。この方法では、メモリ102のメモリ領域を所定のサイズのブロックに分割したものをページと呼び、このページの状態は、図示しないページテーブルを用いて管理される。例えば、このページテーブルによって管理されるダーティビットは、当該ページ内の任意の領域に対して書き込みが発生した場合、ハードウェアによって「1」にセットされる。従って、タスクの状態が格納されたメモリ102上のページについて、ページテーブルのダーティビットを0にクリアすることにより、更新を記録することができる。その後、ダーティビットが1になっていた場合、更新があったとみなされる。   When the re-synchronization request is subsequently generated, the state matching unit 72 sets the re-synchronization state to “first phase” (step S1303), and starts update recording of the task processing state (step S1304). The task processing state referred to here indicates, for example, data that can uniquely determine the processing content of the task among data placed on the memory 102. As described above, when the task processing state indicates data on the memory 102, there is a method of using the dirty bit of the page table as a method of recording the update. In this method, a page obtained by dividing the memory area of the memory 102 into blocks of a predetermined size is called a page, and the state of this page is managed using a page table (not shown). For example, the dirty bit managed by this page table is set to “1” by hardware when writing occurs in an arbitrary area in the page. Therefore, the update can be recorded by clearing the dirty bit of the page table to 0 for the page on the memory 102 in which the task state is stored. After that, if the dirty bit is 1, it is considered that there has been an update.

ここで、更新記録の開始処理中に当該メモリ102の内容が更新されることを防ぐため、当該メモリを参照し得る全タスクの実行を一時停止させる必要がある。この一時停止期間は十分短いので、周期駆動タスクの周期抜けの要因にはならない。   Here, in order to prevent the contents of the memory 102 from being updated during the update recording start process, it is necessary to temporarily stop the execution of all tasks that can refer to the memory. Since this temporary suspension period is sufficiently short, it does not become a cause of missing the periodic drive task.

続いて、状態一致化部72は、タスクの処理状態を全て、再同期させるべき復旧対象の計算機11に転送する(ステップS1305)。   Subsequently, the state matching unit 72 transfers all task processing states to the computer 11 to be restored to be resynchronized (step S1305).

状態一致化部72は、タスクの処理状態を全て停止計算機11に転送した後、再同期状態を「第二フェーズ」にセットする(ステップS1306)。さらに状態一致化部72は、後述する「更新LRU(Last Recently Used)リスト」の内容をクリアする(ステップS1307)。更新LRUリストは、新旧二つのリストを含むが、両方ともクリアされる。   The state matching unit 72 transfers all the task processing states to the stop computer 11 and then sets the resynchronization state to “second phase” (step S1306). Further, the state matching unit 72 clears the content of an “updated LRU (Last Recently Used) list” to be described later (step S1307). The updated LRU list includes the old and new lists, but both are cleared.

その後、状態一致化部72は、適当なタイミングにて、タスクの処理状態の更新箇所を抽出する(ステップS1308)。この抽出方法の詳細については後述する。   Thereafter, the state matching unit 72 extracts an update location of the task processing state at an appropriate timing (step S1308). Details of this extraction method will be described later.

続いて、状態一致化部72は、このように抽出した更新箇所から更新量を算出し(ステップS1309)、その更新量が閾値以上であるか否かを判定する(ステップS1310)。この閾値は、ユーザによって定められた固定値であっても良いし、従前の方法(例えば特許文献1に記載の方法)により求めた値であっても良い。   Subsequently, the state matching unit 72 calculates an update amount from the update location extracted in this way (step S1309), and determines whether the update amount is equal to or greater than a threshold value (step S1310). This threshold value may be a fixed value determined by the user, or may be a value obtained by a conventional method (for example, the method described in Patent Document 1).

ステップS1310において更新量が閾値以上だった場合、すなわち、状態一致化部72は、各タスクの更新された処理状態(差分)を順次稼働中の計算機10から復旧対象の計算機11に転送し(ステップS1311)、全て転送が完了したらステップS1309に戻ってこれを実行する。一方、ステップS1310において更新量が閾値未満であった場合、状態一致化部72は、後述する第三フェーズへと進む。   If the update amount is equal to or greater than the threshold value in step S1310, that is, the state matching unit 72 sequentially transfers the updated processing state (difference) of each task from the operating computer 10 to the recovery target computer 11 (step S1310). S1311) When all the transfers are completed, the flow returns to step S1309 to execute this. On the other hand, when the update amount is less than the threshold value in step S1310, the state matching unit 72 proceeds to a third phase described later.

図12は、図11に示す状態一致化処理におけるタスクの処理状態の更新箇所抽出処理(図11のステップS1308参照)の詳細な処理内容の一例を示す。この処理においては、状態一致化部72が、ワーキング領域として、更新ビットマップ及び更新LRUリストという2種類のデータ構造を利用する。   FIG. 12 shows an example of detailed processing contents of the update part extraction process (see step S1308 in FIG. 11) of the task processing state in the state matching process shown in FIG. In this process, the state matching unit 72 uses two types of data structures, that is, an update bitmap and an update LRU list, as working areas.

更新ビットマップは、更新が行われたページをビットマップで管理する。例えば処理状態を格納するメモリ領域の先頭ページ(0番目のページ)の内容が更新された場合、状態一致化部72は、更新ビットマップの0番目のビットを1にセットする。メモリ領域の先頭から何番目のページかを示す値はPage Frame Number(以下「PFN」と省略する)と呼ばれる。   The update bitmap manages the updated page with the bitmap. For example, when the contents of the first page (0th page) of the memory area storing the processing state are updated, the state matching unit 72 sets the 0th bit of the update bitmap to 1. A value indicating the page number from the top of the memory area is called a page frame number (hereinafter abbreviated as “PFN”).

一方、更新LRUリストは、最近更新されたページのPFNを管理する。リストの先頭側には最近更新されたページのPFNが格納される一方、リストの末尾側には最も過去に更新されたページのPFNが格納される。特に、本実施の形態においては、更新LRUリストを用いて、高い応答性を必要とする優先度の高いイベント駆動タスクによって更新されるページについて管理する。本実施の形態では、新旧2つの更新LRUリスト(新更新LRUリスト及び旧更新LRUリスト)を用いてページを管理する。   On the other hand, the updated LRU list manages the PFN of recently updated pages. The PFN of the page updated most recently is stored at the top of the list, while the PFN of the page most recently updated is stored at the end of the list. In particular, in this embodiment, an updated LRU list is used to manage pages that are updated by a high-priority event-driven task that requires high responsiveness. In the present embodiment, pages are managed using two new and old update LRU lists (new update LRU list and old update LRU list).

まず、状態一致化部72は、処理状態の更新箇所を抽出中に更新が実行されることを防ぐため、全タスクの実行を一時停止する(ステップS1401)。続いて、状態一致化部72は、更新ビットマップ及び新LRUリストをクリアする(ステップS1402,S1403)。   First, the state matching unit 72 temporarily stops the execution of all tasks in order to prevent the update from being executed while extracting the update part of the processing state (step S1401). Subsequently, the state matching unit 72 clears the update bitmap and the new LRU list (steps S1402 and S1403).

次に状態一致化部72は、例えば前述の方法を用いて、更新がされたページを調べ、そのPFNを得る(ステップS1404)。一般にページの更新の有無の検出はタスク単位で実施される。状態一致化部72は、そのタスクが「高優先」と予め指定されたイベント駆動タスクであるかどうか判定する(ステップS1405)。   Next, the state matching unit 72 examines the updated page by using, for example, the method described above, and obtains the PFN (step S1404). In general, detection of page update is performed on a task basis. The state matching unit 72 determines whether the task is an event-driven task designated in advance as “high priority” (step S1405).

そのタスクが「高優先」と指定されてない場合、状態一致化部72は、上述のように得られたPFNに対応する更新ビットマップ上のビットを1にセットする(ステップS1406)。一方、そのタスクが「高優先」と指定されている場合、状態一致化部72は、当該PFNが旧更新LRUリスト上に存在すればそれを取り除き(ステップS1407)、当該PFNを新更新LRUリストの先頭に登録する(ステップS1408)。   If the task is not designated as “high priority”, the state matching unit 72 sets the bit on the update bitmap corresponding to the PFN obtained as described above to 1 (step S1406). On the other hand, if the task is designated as “high priority”, the state matching unit 72 removes the PFN if it exists on the old update LRU list (step S1407), and removes the PFN from the new update LRU list. (Step S1408).

状態一致化部72は、処理状態を格納するメモリ領域の全ページの更新有無についてスキャンが完了したと判定されるまで(ステップS1409)、以上のようなステップS1404〜S1408を繰り返し実行する。   The state matching unit 72 repeatedly executes steps S1404 to S1408 as described above until it is determined that scanning has been completed with respect to whether or not all pages in the memory area storing the processing state have been updated (step S1409).

状態一致化部72は、全ページのスキャンが完了した後、処理状態の更新記録をリセットし(ステップS1410)、全タスクの実行の一時停止を解除する(ステップS1411)。   After the scanning of all pages is completed, the state matching unit 72 resets the update record of the processing state (step S1410), and cancels the suspension of the execution of all tasks (step S1411).

ここで、ステップS1410において、前述の更新有無の検出方法を用いるならば、ページテーブルのダーティビットが1にセットされているページが更新箇所であり、このダーティビットを0にクリアすることで、更新記録がリセットされる。ステップS1401〜ステップS1411までの一時停止期間は十分短いため、周期駆動タスクの周期抜けが発生せず、高優先と指定されたタスクの応答性低下への影響も小さく抑えることができる。   Here, in step S1410, if the above-described update presence / absence detection method is used, the page where the dirty bit of the page table is set to 1 is the update location, and the update is performed by clearing this dirty bit to 0. The recording is reset. Since the temporary suspension period from step S1401 to step S1411 is sufficiently short, the periodic drive task does not lose its period, and the influence on the responsiveness degradation of the task designated as high priority can be suppressed to a small level.

図13は、図11に示す更新済処理状態転送処理(図11のステップS1311参照)の詳細な内容の一例を示す。   FIG. 13 shows an example of detailed contents of the updated process state transfer process (see step S1311 in FIG. 11) shown in FIG.

まず、状態一致化部72は、前述のように作成した更新ビットマップから、新更新LRUリスト上にあるPFNに対応するビットを0クリアする(ステップS1501)。その後、状態一致化部72は、更新ビットマップ上で1にセットされているビットに対応するPFNのページについて、稼働中の計算機10から、再同期させるべき復旧対象の計算機11に転送する(ステップS1502)。   First, the state matching unit 72 clears 0 the bit corresponding to the PFN on the new update LRU list from the update bitmap created as described above (step S1501). Thereafter, the state matching unit 72 transfers the PFN page corresponding to the bit set to 1 on the update bitmap from the operating computer 10 to the recovery target computer 11 to be resynchronized (step S110). S1502).

続いて、状態一致化部72は、新更新LRUリストの末尾から順に、対応するページをステップS1502と同様に転送する(ステップS1503)。最後に状態一致化部72は、新更新LRUリストの後ろに旧更新LRUリストを繋ぎ、これを旧更新LRUリストとする(ステップS1504)。   Subsequently, the state matching unit 72 sequentially transfers the corresponding pages in the same manner as step S1502 from the end of the newly updated LRU list (step S1503). Finally, the state matching unit 72 connects the old update LRU list behind the new update LRU list and sets this as the old update LRU list (step S1504).

以下、図14及び図15を用いて状態一致化処理の第三フェーズ及び第四フェーズについて説明する。   Hereinafter, the third phase and the fourth phase of the state matching process will be described with reference to FIGS. 14 and 15.

図14は、状態一致化処理における第三フェーズの一例を示す。まず、状態一致化部72は、再同期状態を「第三フェーズ」にセットし(ステップS1601)、再同期中断タイマをセットする(ステップS1602)。再同期中断タイマを作動させる時刻としては、次の周期駆動タスクが駆動する時刻以前に設定される。これは、その設定時刻までに第三フェーズ及び第四フェーズが完了しなかった場合、処理を中断して、第二フェーズに戻ることができるようにするためである。再同期中断タイマの詳細については後述する。   FIG. 14 shows an example of the third phase in the state matching process. First, the state matching unit 72 sets the resynchronization state to “third phase” (step S1601), and sets the resynchronization interruption timer (step S1602). The time for operating the resynchronization interruption timer is set before the time when the next periodic drive task is driven. This is because when the third phase and the fourth phase are not completed by the set time, the process is interrupted and the process can return to the second phase. Details of the resynchronization interruption timer will be described later.

次に状態一致化部72は、稼働中のタスクが停止するまで待ち処理を継続する(ステップS1603)。これは、全ての同期対象のタスクについて、周期駆動タスクであれば待ち処理(図6のステップS403に相当)の状態を継続することを意味する一方、イベント駆動タスクであればイベント待ち処理(図7のステップS502に相当)の状態を継続することを意味する。   Next, the state matching unit 72 continues the waiting process until the active task is stopped (step S1603). This means that for all tasks to be synchronized, if the task is a periodically driven task, it means that the state of waiting processing (corresponding to step S403 in FIG. 6) is continued, while if it is an event driven task, event waiting processing (FIG. 7) (corresponding to step S502 of FIG. 7).

その後、状態一致化部72は、図11に示すステップS1308と同様に、タスクの処理状態の更新箇所を抽出し(ステップS1604)、その更新量がゼロであるか否かをチェックする(ステップS1605)。   After that, the state matching unit 72 extracts the update part of the task processing state (step S1604) and checks whether the update amount is zero (step S1605), similarly to step S1308 shown in FIG. ).

ステップS1605において更新量がゼロでない場合、状態一致化部72は、図11のステップS1311と同様に、更新がなされたタスクの処理状態を転送し(ステップS1606)、ステップS1604に戻ってこれを実行する。すなわち、状態一致化部72は、複数の周期駆動タスクの開始時刻が揃う直前の所定期間である再同期期間に、各タスクの処理状態の差分を稼働中の計算機10から復旧対象の計算機11に転送する。   If the update amount is not zero in step S1605, the state matching unit 72 transfers the processing state of the updated task (step S1606) and returns to step S1604 to execute it, as in step S1311 of FIG. To do. In other words, the state matching unit 72 transfers the processing state difference of each task from the operating computer 10 to the recovery target computer 11 during a resynchronization period that is a predetermined period immediately before the start times of a plurality of periodic drive tasks are aligned. Forward.

一方、ステップS1605において更新量がゼロであった場合、状態一致化部72は、再同期状態を「第四フェーズ」にセットし(ステップS1607)、残りのタスクの状態を稼働中の計算機10から再同期させるべき復旧対象の計算機11に転送する(ステップS1608)。すなわち、状態一致化部72は、複数の周期駆動タスクの開始時刻が揃う直前の所定期間である再同期期間に、各タスクの処理状態の差分を稼働中の計算機10から復旧対象の計算機11に転送する。ここでいうタスクの状態とは、ステップS1311やステップS1606で転送したタスクの処理状態以外であって一致化が必要な「状態」を示している。一般に、この種の「状態」情報は少量であり、転送は短時間で実施できることが期待できる。   On the other hand, if the update amount is zero in step S 1605, the state matching unit 72 sets the resynchronization state to “fourth phase” (step S 1607), and sets the remaining task states from the operating computer 10. The data is transferred to the recovery target computer 11 to be resynchronized (step S1608). In other words, the state matching unit 72 transfers the processing state difference of each task from the operating computer 10 to the recovery target computer 11 during a resynchronization period that is a predetermined period immediately before the start times of a plurality of periodic drive tasks are aligned. Forward. The task state here indicates a “state” other than the processing state of the task transferred in step S1311 or step S1606 and requiring matching. In general, this type of “state” information is small, and it can be expected that the transfer can be performed in a short time.

状態一致化部72は、そのような転送が完了した後、再同期中断タイマを停止し(ステップS1609)、再同期状態を「停止中」にリセットし(ステップS1610)、タスクの実行抑止の解除を要請した後(ステップS1611)、再同期要求待ち(図11のステップS1302)に戻ってこれを実行する。なお、タスクの実行抑止については後述する。   After such transfer is completed, the state matching unit 72 stops the resynchronization interruption timer (step S1609), resets the resynchronization state to “stopped” (step S1610), and cancels the suppression of task execution. Is requested (step S1611), the process returns to the resynchronization request wait (step S1302 in FIG. 11) and executed. The task execution suppression will be described later.

図15は、再同期中断タイマが作動した際の処理の一例を示す。図示の例では、状態一致化処理における第三フェーズ及び第四フェーズを中断する様子を示している。   FIG. 15 shows an example of processing when the resynchronization interruption timer is activated. In the example shown in the figure, a state in which the third phase and the fourth phase in the state matching processing are interrupted is shown.

再同期中断タイマは、ステップS1602において指定した時刻を経過した後、図14のステップS1603〜S1608の任意のタイミングにおいて作動が開始される。   The resynchronization interruption timer starts operating at an arbitrary timing in steps S1603 to S1608 in FIG. 14 after the time designated in step S1602 has elapsed.

この際、状態一致化部72は、再同期状態を「第二フェーズ」にセットし直し(ステップS1701)、タスクの実行抑止を解除し(ステップS1702)、ステップS1311に戻ってこれを実行する。すなわち、状態一致化部72は、第三フェーズ及び第四フェーズを中断し(ステップS1703)、第二フェーズからやり直して実行する。   At this time, the state matching unit 72 resets the resynchronization state to “second phase” (step S1701), cancels the task execution inhibition (step S1702), and returns to step S1311 to execute it. That is, the state matching unit 72 interrupts the third phase and the fourth phase (step S1703), and executes again from the second phase.

図16は、タスク実行可否判定処理の一例を示す。タスク実行可否判定処理は、再同期部70のタスク実行抑止部71によって実行される。このタスク実行可否判定処理は、図7に示すイベント駆動タスクに関するステップS503において呼び出されて実行される。   FIG. 16 shows an example of a task execution availability determination process. The task execution availability determination process is executed by the task execution suppression unit 71 of the resynchronization unit 70. This task execution availability determination process is called and executed in step S503 for the event-driven task shown in FIG.

まず、タスク実行抑止部71は、再同期状態が第四フェーズであるか否かを判定する(ステップS1801)。   First, the task execution suppression unit 71 determines whether or not the resynchronization state is the fourth phase (step S1801).

ステップS1801において再同期状態が第四フェーズである場合、タスク実行抑止部71は、タスクの実行抑止とする(ステップS1810)。この場合、タスク実行抑止部71は、ステップS1611またはステップS1702において実行抑止が解除されるまで、当該タスクの実行を規制している。   If the resynchronization state is the fourth phase in step S1801, the task execution suppression unit 71 sets the task execution suppression (step S1810). In this case, the task execution suppression unit 71 restricts the execution of the task until the execution suppression is canceled in step S1611 or step S1702.

一方、ステップS1801において再同期状態が第四フェーズでなかった場合、タスク実行抑止部71は、当該タスクが、高優先と指定されたタスクか否かを判定する(ステップS1802)。当該タスクが高優先と指定されたタスクである場合、タスク実行抑止部71は、当該タスクについて実行を許可し(ステップS1820)、ステップS504に進んでこれを実行する。一方、当該タスクが高優先と指定されたタスクではない場合、タスク実行抑止部71は、再同期状態が第三フェーズであるか否かを判定する(ステップS1803)。   On the other hand, if the resynchronization state is not the fourth phase in step S1801, the task execution suppression unit 71 determines whether the task is a task designated as high priority (step S1802). If the task is a task designated as high priority, the task execution suppression unit 71 permits execution of the task (step S1820), and proceeds to step S504 to execute it. On the other hand, if the task is not a task designated as high priority, the task execution suppression unit 71 determines whether or not the resynchronization state is the third phase (step S1803).

タスク実行抑止部71は、再同期状態が第三フェーズである場合には当該タスクの実行を抑止する一方(ステップS1810)、再同期状態が第三フェーズでない場合には再同期状態が第二フェーズであるか否かを判定する(ステップS1804)。   When the resynchronization state is the third phase, the task execution suppression unit 71 suppresses execution of the task (step S1810), whereas when the resynchronization state is not the third phase, the resynchronization state is the second phase. It is determined whether or not (step S1804).

再同期状態が第二フェーズではない場合、すなわち、再同期状態が第一フェーズまたは「停止中」である場合、タスク実行抑止部71は当該タスクの実行を許可する(ステップS1820)。一方、再同期状態が第二フェーズである場合、タスク実行抑止部71は、当該タスクの予想完了時刻が再同期期間の末尾の所定期間内に含まれるか否かを判定する(ステップS1805)。   When the resynchronization state is not the second phase, that is, when the resynchronization state is the first phase or “stopped”, the task execution suppression unit 71 permits the execution of the task (step S1820). On the other hand, when the resynchronization state is the second phase, the task execution suppression unit 71 determines whether or not the expected completion time of the task is included in a predetermined period at the end of the resynchronization period (step S1805).

タスク実行抑止部71は、当該タスクの予想完了時刻が当該末尾の所定期間内に含まれる場合には当該タスクの実行を抑止する一方(ステップS1810)、当該タスクの予想完了時刻が当該末尾の所定期間内に含まれない場合には当該タスクの実行を許可する(ステップS1820)。   When the expected completion time of the task is included in the predetermined period at the end, the task execution suppression unit 71 suppresses the execution of the task (step S1810), while the expected completion time of the task is the predetermined value at the end. If it is not included in the period, execution of the task is permitted (step S1820).

その後、高優先と指定されたタスクが実行された後、多重系システム1では、状態一致化部72が、当該高優先タスクによってさらに更新された処理状態を再度複数の計算機10,11などの間で転送して一致させる。   Thereafter, after the task designated as high priority is executed, in the multi-system system 1, the state matching unit 72 again sets the processing state updated by the high priority task between the computers 10 and 11. Transfer to match.

ここで、前述したステップS1805についてさらに詳しく説明する。まず、当該タスクの予想完了時刻は、現在時刻(当該タスクのイベント処理ステップS504を開始させる時刻)に対して、イベント処理時間の予想される最大処理時間を加算した時刻に相当する。   Here, step S1805 described above will be described in more detail. First, the expected completion time of the task corresponds to the time obtained by adding the expected maximum processing time of the event processing time to the current time (time at which the event processing step S504 of the task is started).

タスク実行抑止部71は、予め最大処理時間が判明している場合には、イベント駆動タスクごとにその時間を設定しておき、ステップS1805にて参照する一方、予め上記最大処理時間が判明していない場合には、統計的な手法によりその時間を予測する。   If the maximum processing time is known in advance, the task execution suppression unit 71 sets the time for each event-driven task and refers to it in step S1805, while the maximum processing time is known in advance. If not, the time is predicted by a statistical method.

具体的には、タスク実行抑止部71は、ステップS504におけるイベント処理時間をタスクごとに集計し、その平均及び標準偏差を算出し、この平均をこの標準偏差に加えて、予測される最大処理時間を算出する。再同期期間の末尾については、タスク実行抑止部71が、再同期周期管理テーブル600の再同期周期開始時刻602及び再同期周期603に基づいて、次の再同期周期の開始時刻を求めることにより算出することができる。   Specifically, the task execution suppression unit 71 aggregates the event processing time in step S504 for each task, calculates the average and standard deviation, adds this average to the standard deviation, and predicts the maximum processing time. Is calculated. The end of the resynchronization period is calculated by the task execution suppression unit 71 obtaining the start time of the next resynchronization period based on the resynchronization period start time 602 and the resynchronization period 603 of the resynchronization period management table 600. can do.

ステップS1805における「末尾の所定期間」は、再同期部70の第三フェーズ及び第四フェーズを完了させるのに十分な時間を表しており、タスクの処理状態の更新頻度、内部ネットワーク50の通信帯域に応じて定められる。   The “predetermined predetermined period” in step S1805 represents a time sufficient to complete the third phase and the fourth phase of the resynchronization unit 70, the update frequency of the task processing state, the communication bandwidth of the internal network 50 It is decided according to.

ここで、ステップS1604〜ステップS1606のループが実行されている間に亘って、高優先と指定されているイベント駆動タスクは動作可能である。逆に、高優先と指定されているイベント駆動タスクが動作不可能となるのは、ステップS1401〜ステップS1411までの一時停止期間、及び、ステップS1607〜ステップS1610までの第四フェーズの期間である。しかしながら、これらの期間は短く、高優先と指定されているイベント駆動タスクの応答性への影響を小さく抑えることができる。   Here, while the loop from step S1604 to step S1606 is being executed, the event-driven task designated as high priority is operable. On the contrary, the event-driven task designated as high priority becomes inoperable during the temporary suspension period from step S1401 to step S1411 and the period of the fourth phase from step S1607 to step S1610. However, these periods are short, and the influence on the responsiveness of the event-driven task designated as high priority can be reduced.

さらに、高優先のタスクにより頻繁に更新される処理状態の転送を極力後で実施することにより、第三フェーズの間に、高優先と指定されているイベント駆動タスクが動作したとしても、何度も同じ処理状態を転送してしまう確率を低くすることができる。併せて、上記末尾の所定時間内に第三フェーズ及び第四フェーズが完了しない状況を避けることができる。従って、本実施の形態によれば、高優先と指定されているイベント駆動タスクの応答性を維持しつつ、再同期期間内に再同期処理を完了させる可能性をより高くすることができる。   Furthermore, by transferring the processing state frequently updated by the high priority task as much as possible, even if an event-driven task designated as high priority operates during the third phase, Can also reduce the probability of transferring the same processing state. In addition, the situation where the third phase and the fourth phase are not completed within the predetermined time at the end can be avoided. Therefore, according to the present embodiment, it is possible to further increase the possibility of completing the resynchronization process within the resynchronization period while maintaining the responsiveness of the event-driven task designated as high priority.

互いに異なる周期を有する複数の周期駆動タスクが動作している場合、再同期周期(再同期周期603の値に相当)が長くなってしまうことがある。その場合、一見すると、再同期処理の第三フェーズ及び第四フェーズを実行するのに好適であってこれら複数の周期駆動タスクが一定の時間に亘って動作しない期間が到来するまで、長時間待つ必要が生じることも考え得る。この場合、上記好適な期間が到来するタイミングで、バッチ処理のような長時間に亘って動作を継続するイベント駆動タスクが毎回駆動されると、いつになっても再同期処理を完了させることができないことになってしまう。   When a plurality of periodic drive tasks having different periods are operating, the resynchronization period (corresponding to the value of the resynchronization period 603) may become long. In that case, at first glance, it is suitable for executing the third phase and the fourth phase of the resynchronization process, and waits for a long time until a period in which the plurality of periodic drive tasks do not operate for a certain period of time comes. It is possible that a need arises. In this case, when an event-driven task that continues to operate for a long time, such as batch processing, is driven each time at the timing when the preferred period arrives, resynchronization processing may be completed at any time. It will be impossible.

そこで、上述したステップS1805のような予想完了時刻に関する判定を実施して上述した好適な期間と被って実行される可能性があるイベント駆動タスクの実行を予め抑止することにより、複数の計算機10,11等の間で最後の差分転送が上記末尾の所定期間内までに完了することを保証して、複数の計算機10,11等の間で再同期処理を短期間に完了する可能性を高めることができる。なお、処理時間の長いイベント駆動タスクは、一般に優先度が相対的に低く設定されることが多いため、多少の時間に亘ってその実行が抑止されたとしても影響は小さい。   Therefore, by executing the determination regarding the predicted completion time as in step S1805 described above and preliminarily suppressing the execution of the event-driven task that may be executed over the suitable period described above, a plurality of computers 10, Ensuring that the last differential transfer between 11 and the like is completed within the predetermined period at the end, and increasing the possibility of completing the resynchronization process among a plurality of computers 10 and 11 etc. in a short time Can do. Note that an event-driven task having a long processing time is generally set to have a relatively low priority, and therefore, even if its execution is suppressed for some time, the influence is small.

以上説明したように、イベント駆動タスクの実行抑止を適宜実施することにより、周期駆動タスクの周期抜けを起こさず、高優先と指定されているタスクの応答性を低下させないようにしつつ複数の計算機10,11等の間において短時間で再同期を完了し易くすることができる。   As described above, the execution of the event-driven task is appropriately suppressed, so that the periodic drive task does not lose its cycle and the responsiveness of the task designated as high priority is not deteriorated. , 11 etc., resynchronization can be easily completed in a short time.

また本実施の形態では、上述した複数の駆動タスクの駆動が原則として規制される再同期期間と、バッチ処理などのタスクの実行期間とが被らないようにすることにより、上記最後の差分転送が上記末尾の所定期間内までに完了することを保証することができる。   In the present embodiment, the last difference transfer is performed by avoiding the resynchronization period in which the driving of the plurality of driving tasks described above is restricted in principle and the execution period of the task such as batch processing. Can be guaranteed to be completed by the end of the predetermined period.

(2)第2の実施の形態
第2の実施の形態による多重系システム1Aは、第1の実施の形態による多重系システム1とほぼ同様な構成であるとともにほぼ同様な動作を実行するため、両者における同様な構成及び動作については説明を省略し、以下、異なる点を中心に説明する。
(2) Second Embodiment A multiplex system 1A according to the second embodiment has substantially the same configuration as the multiplex system 1 according to the first embodiment and performs substantially the same operation. A description of the same configuration and operation in both of them will be omitted, and different points will be mainly described below.

図17は、第2の実施の形態における周期タイマ登録処理の一例を示す。なお、ステップS901〜S904は、それぞれ、図8に示すステップS800〜804と同一の処理であるため、説明を省略する。   FIG. 17 shows an example of a periodic timer registration process in the second embodiment. Steps S901 to S904 are the same as steps S800 to 804 shown in FIG.

ステップS901において再同期周期管理テーブル600が空ではない場合、まず、タイマ部81は、再同期周期T(再同期周期603の値に相当)と、周期T(周期704の値に相当)との最大公約数Gを算出する(ステップS905)。 When the resynchronization cycle management table 600 is not empty in step S901, first, the timer unit 81 sets the resynchronization cycle T R (corresponding to the value of the resynchronization cycle 603) and the cycle T (corresponding to the value of the cycle 704). The greatest common divisor G is calculated (step S905).

次にタイマ部81は、treq<t+n・G=t(nは整数)を満たす最小のtを算出し、この最少のtを調整後の周期開始時刻t(周期開始時刻703の値に相当)とする(ステップS906)。 Next, the timer unit 81 calculates the minimum t satisfying t req <t R + n · G = t (n is an integer), and the minimum t is adjusted to the cycle start time t (value of the cycle start time 703). (Step S906).

続いて、タイマ部81は、次の再同期周期開始時刻t’を算出し(ステップS907)、この再同期周期開始時刻tを上記次の再同期周期開始時刻t’で更新する(ステップS908)。さらにタイマ部81は、再同期周期Tを全周期駆動タスクの周期の最小公倍数に更新する(ステップS909)。 Subsequently, the timer unit 81 'calculates (step S907), the re-synchronization period start time t R the next resynchronization period start time t R' next resynchronization period start time t R is updated by ( Step S908). Further timer unit 81 updates the resynchronization period T R to the least common multiple of the periods of full-cycle driving task (step S909).

図18は、図17において次の再同期周期開始時刻t’を算出する方法の一例を示す。まず、タイマ部81は、初期状態としてtにtをセットするとともに、tにtをセットする(ステップS1001)。ここで、タイマ部81は、tとtとを比較する(ステップS1002)。 FIG. 18 shows an example of a method for calculating the next resynchronization cycle start time t R ′ in FIG. First, the timer unit 81 is configured to set the t R to t 0 as an initial state, it sets t to t 1 (step S1001). Here, the timer unit 81 compares the t 0 and t 1 (step S1002).

とtとが等しい場合、タイマ部81は、次の再同期周期開始時刻t’をこのときのtにセットし(ステップS1003)、当該処理を終了する(ステップS1004)。 When t 0 and t 1 are equal, the timer unit 81 sets the next resynchronization cycle start time t R ′ to t 1 at this time (step S1003), and ends the processing (step S1004).

一方、tとtとが異なる場合、タイマ部81は、その大小について比較する(ステップS1005)。タイマ部81は、tがtより小さければtにTを加算し(ステップS1006)、ステップS1002に戻って実行する一方、tがtより大きければtにTを加算し(ステップS1007)、ステップS1002に戻って実行する。 On the other hand, when t 0 and t 1 are different, the timer unit 81 compares the magnitudes (step S1005). Timer unit 81, t 0 is added to T R to t 0 is smaller than t 1 (step S1006), while executing the process returns to step S1002, t 0 is added to T to t 1 is greater than t 1 (Step S1007), it returns to Step S1002 and executes.

以下、図17及び図18の手順に従って周期開始時刻(周期開始時刻703の値に相当)を調整する場合について、図9及び図10に示す具体例を用いて説明する。再同期周期管理テーブル600(図9参照)及び周期駆動タスク管理テーブル700(図10参照)は、初期状態として空であるものとする。なお、周期駆動タスクの要求周期開始時刻(要求周期開始時刻702の値に相当)及び周期(周期704の値に相当)は、図5に例示するこれらと同様であるものとする。   Hereinafter, the case where the cycle start time (corresponding to the value of the cycle start time 703) is adjusted according to the procedures of FIGS. 17 and 18 will be described using specific examples shown in FIGS. Assume that the resynchronization cycle management table 600 (see FIG. 9) and the cycle-driven task management table 700 (see FIG. 10) are empty as an initial state. Note that the request cycle start time (corresponding to the value of the request cycle start time 702) and the cycle (corresponding to the value of the cycle 704) of the periodic drive task are the same as those illustrated in FIG.

時刻100において周期(周期704の値に相当)が3である周期タイマを登録する際の処理は、第1の実施の形態において説明した図6及び図7を用いた手法と同様である。次に、要求周期開始時刻(要求周期開始時刻702の値に相当)が104であり、かつ、周期(周期704の値に相当)が4である周期タイマを登録する一例について説明する。   The process when registering a periodic timer whose period (corresponding to the value of period 704) at time 100 is the same as the method using FIGS. 6 and 7 described in the first embodiment. Next, an example of registering a cycle timer whose request cycle start time (corresponding to the value of request cycle start time 702) is 104 and whose cycle (corresponding to the value of cycle 704) is 4 will be described.

この際、再同期周期(再同期周期603の値)と周期(周期704の値)との最大公約数は、3と4との最大公約数であるため、1となる。従って、周期開始時刻t(周期開始時刻703の値に相当)は、104<100+n・1=t(nは整数)を満たす最小の値として105が得られる。   At this time, the greatest common divisor of the resynchronization period (value of resynchronization period 603) and the period (value of period 704) is 1 because it is the greatest common divisor of 3 and 4. Accordingly, the cycle start time t (corresponding to the value of the cycle start time 703) is 105 as a minimum value satisfying 104 <100 + n · 1 = t (n is an integer).

時刻109において、再同期周期の開始時刻と、当該周期駆動タスクの周期の開始時刻とが一致するので、タスク実行抑止部71は、この一致する時刻を新たな再同期周期開始時刻t(再同期周期開始時刻602の値に相当)と設定する。タスク実行抑止部71は、再同期周期(再同期周期603の値に相当)について3と4との最小公倍数である12で更新する。 At time 109, since the start time of the resynchronization cycle and the start time of the cycle of the periodic drive task match, the task execution suppression unit 71 sets this matching time as a new resynchronization cycle start time t R (re- It corresponds to the value of the synchronization cycle start time 602). The task execution suppression unit 71 updates the resynchronization period (corresponding to the value of the resynchronization period 603) with 12, which is the least common multiple of 3 and 4.

その後、要求周期開始時刻702が110であり、かつ、周期(周期704の値に相当)が6である周期タイマを登録する場合を考える。再同期周期(再同期周期603の値に相当)と周期(周期704の値に相当)との最大公約数は12であり、これは、6の最大公約数であるため、6となる。従って、周期開始時刻t(周期開始時刻703の値に相当)は、110<109+n・6=t(nは整数)を満たす最小の値として115となる。   Then, consider a case where a cycle timer having a request cycle start time 702 of 110 and a cycle (corresponding to the value of cycle 704) of 6 is registered. The greatest common divisor of the resynchronization period (corresponding to the value of resynchronization period 603) and the period (corresponding to the value of period 704) is 12, which is 6 because it is the greatest common divisor of 6. Therefore, the cycle start time t (corresponding to the value of the cycle start time 703) is 115 as the minimum value satisfying 110 <109 + n · 6 = t (n is an integer).

再同期周期603については、12と6との最小公倍数は12であり、これは現在の値と等しいので、タスク実行抑止部71は、再同期周期管理テーブル600を更新しなくても良い。   For the resynchronization cycle 603, the least common multiple of 12 and 6 is 12, which is equal to the current value, so the task execution suppression unit 71 does not have to update the resynchronization cycle management table 600.

以上により、タスク識別子701が2であるタスクの周期開始時刻(周期開始時刻703の値に相当)は、第1の実施の形態では106であったが(図8参照)、第2の実施の形態では105に短縮されるとともに、タスク識別子701が3であるタスクの周期開始時刻は、第1の実施の形態では118であったが、第2の実施の形態では115に短縮された。   As described above, the cycle start time of the task whose task identifier 701 is 2 (corresponding to the value of the cycle start time 703) was 106 in the first embodiment (see FIG. 8). In the embodiment, the period start time of the task having the task identifier 701 of 3 is shortened to 105, and the period start time of the task having the task identifier 701 of 3 is 118 in the first embodiment, but is shortened to 115 in the second embodiment.

前述した第1の実施の形態では、図8に示した手法を用いた場合、一見すると、これから実行を開始する周期駆動タスクの初回周期の開始時刻に関して、最大で、再同期周期管理テーブル600の再同期周期603にセットされている時間に亘って遅延が発生する可能性があるようにも思える。しかしながら、第2の実施の形態によれば、図17及び図18に示した手法を用いることにより、周期駆動タスクの初回周期の開始時刻の遅延量を抑制することができる。   In the first embodiment described above, when the method shown in FIG. 8 is used, at first glance, the maximum time of the initial period of the periodic drive task to be executed from now on can be maximized in the resynchronization period management table 600. It seems that there may be a delay over the time set in the resynchronization period 603. However, according to the second embodiment, by using the method shown in FIG. 17 and FIG. 18, the delay amount of the start time of the initial period of the periodic drive task can be suppressed.

(3)その他の実施形態
上記実施形態は、本発明を説明するための例示であり、本発明をこれらの実施形態にのみ限定する趣旨ではない。本発明は、その趣旨を逸脱しない限り、様々な形態で実施することができる。例えば、上記実施形態では、各種プログラムの処理をシーケンシャルに説明したが、特にこれにこだわるものではない。従って、処理結果に矛盾が生じない限り、処理の順序を入れ替え又は並列に動作するように構成しても良い。また、上記実施形態における各処理ブロックを含むプログラムは、例えばコンピュータが読み取り可能な非一時的記憶媒体に格納されている形態であっても良い。
(3) Other Embodiments The above embodiment is an example for explaining the present invention, and is not intended to limit the present invention only to these embodiments. The present invention can be implemented in various forms without departing from the spirit of the present invention. For example, in the above-described embodiment, the processing of various programs is described sequentially, but this is not particularly concerned. Therefore, as long as there is no contradiction in the processing results, the processing order may be changed or the operations may be performed in parallel. Further, the program including each processing block in the above embodiment may be in a form stored in a non-transitory storage medium readable by a computer, for example.

本発明は、復旧対象の計算機について、そのタスクの処理状態を稼働中の計算機のタスクの処理状態に一致させて再度同期して動作するように構成された多重系システム多重系システム及び多重系システムにおける再同期方法に広く適用することができる。   The present invention relates to a multi-system system and a multi-system that are configured to operate again in synchronism by matching the task processing state of a computer to be restored with the task processing state of a computer in operation. Can be widely applied to the resynchronization method.

1……多重系システム、10,11,12……計算機、70……再同期部、71……タスク実行抑止部、72……状態一致化部、80……タスクスケジューラ、81……タイマ部、90……タスク、600……再同期周期管理テーブル、700……周期駆動タスク管理テーブル。   DESCRIPTION OF SYMBOLS 1 ... Multi-system, 10, 11, 12 ... Computer, 70 ... Resynchronization part, 71 ... Task execution suppression part, 72 ... State matching part, 80 ... Task scheduler, 81 ... Timer part , 90... Task, 600... Resynchronization cycle management table, 700.

Claims (10)

複数の計算機において各タスクが同一の処理を実行する多重系システムにおいて、
前記複数の計算機において前記各タスクが全て停止中に、前記複数の計算機のうちの復旧対象の計算機についてそのタスクの処理状態を稼働中の計算機のタスクの処理状態に合わせることにより、前記複数の計算機の間において前記各タスクの処理状態を一致させて記各タスクが再度前記同一の処理を同期して実行可能な状態とする状態一致化部と、
前記各タスクのうち周期的に駆動する複数の周期駆動タスクの周期の開始時刻が定期的に揃うように前記複数の周期駆動タスクの周期の開始時刻を調整する開始時刻調整部と、
前記複数の周期駆動タスクの開始時刻が揃う直前の所定期間に亘って前記複数の周期駆動タスク以外のタスクの実行を規制するタスク実行抑止部と、
を備えることを特徴とする多重系システム。
In a multi-system where each task executes the same process on multiple computers,
While all of the tasks are stopped in the plurality of computers, the processing state of the task of the computers to be restored among the plurality of computers is matched with the processing state of the task of the operating computer. A state matching unit that matches the processing state of each task between each task so that each task can execute the same processing in synchronization again,
A start time adjusting unit that adjusts the start times of the periods of the plurality of periodic drive tasks so that the start times of the periods of the plurality of periodic drive tasks that are periodically driven among the tasks are periodically aligned;
A task execution inhibiting unit that regulates execution of tasks other than the plurality of periodic drive tasks over a predetermined period immediately before the start times of the plurality of periodic drive tasks are aligned;
A multi-system system comprising:
前記状態一致化部は、
前記直前の所定期間において、前記各タスクの処理状態の差分を前記稼働中の計算機から前記復旧対象の計算機に転送することを特徴とする請求項1に記載の多重系システム。
The state matching unit
The multiplex system according to claim 1, wherein, in the predetermined period immediately before, the difference in the processing state of each task is transferred from the operating computer to the recovery target computer.
前記開始時刻調整部は、
前記複数の周期駆動タスクのうちのいずれか所定の周期駆動タスクの初回周期の開始時刻を、既に稼働中の他の周期駆動タスクの周期の開始時刻に合わせるように調整することを特徴とする請求項1に記載の多重系システム。
The start time adjustment unit
The start time of the initial period of any one of the plurality of periodic drive tasks is adjusted to match the start time of the period of another periodic drive task that is already in operation. Item 4. The multisystem according to Item 1.
前記開始時刻調整部は、
前記複数の周期駆動タスクのうち所定の周期駆動タスクの初回周期の開始時刻を決定する際、前記所定の周期駆動タスクの第一の周期と、前記複数の周期駆動タスクのうち既に稼働中の周期駆動タスクの周期の開始時刻が揃う第二の周期と、の最大公約数の整数倍を前記第二の周期の開始時刻に加算した時刻を、前記所定の周期駆動タスクの初回周期の開始時刻と設定することを特徴とする請求項1に記載の多重系システム。
The start time adjustment unit
When determining a start time of an initial period of a predetermined periodic driving task among the plurality of periodic driving tasks, a first period of the predetermined periodic driving task and an already operating period of the plurality of periodic driving tasks A time obtained by adding an integer multiple of the greatest common divisor to the second cycle in which the start times of the drive task cycles are aligned, and the start time of the first cycle of the predetermined cycle drive task. The multiplex system according to claim 1, wherein the multiplex system is set.
前記状態一致化部は、
前記直前の所定期間に前記各タスクの処理状態を一致させる際、前記各タスクのうち前記周期駆動タスクよりも優先して実行されるべき高優先タスクによって更新される処理状態を極力後に一致させ、かつ、
前記タスク実行抑止部は、
前記直前の所定期間において例外的に前記高優先タスクの実行を許容し、
前記状態一致化部は、
その後前記高優先タスクが実行された後、当該高優先タスクによってさらに更新された処理状態を再度前記複数の計算機の間で一致させることを特徴とする請求項1に記載の多重系システム。
The state matching unit
When matching the processing state of each task in the immediately preceding predetermined period, the processing state updated by the high priority task that should be executed in preference to the periodic drive task among the tasks is matched as much as possible. And,
The task execution suppression unit
Exceptionally allowing the execution of the high priority task in the predetermined period immediately before,
The state matching unit
2. The multiplex system according to claim 1, wherein after the high-priority task is executed, the processing state further updated by the high-priority task is matched again among the plurality of computers.
複数の計算機において各タスクが同一の処理を実行する多重系システムにおける再同期方法において、
前記多重系システムが、前記複数の計算機において前記各タスクが全て停止中に、前記複数の計算機のうちの復旧対象の計算機についてそのタスクの処理状態を稼働中の計算機のタスクの処理状態に合わせることにより、前記複数の計算機の間において前記各タスクの処理状態を一致させて記各タスクが再度前記同一の処理を同期して実行可能な状態とする状態一致化ステップと、
前記多重系システムが、前記各タスクのうち周期的に駆動する複数の周期駆動タスクの周期の開始時刻が定期的に揃うように前記複数の周期駆動タスクの周期の開始時刻を調整する開始時刻調整ステップと、
前記多重系システムが、前記複数の周期駆動タスクの開始時刻が揃う直前の所定期間に亘って前記複数の周期駆動タスク以外のタスクの実行を規制するタスク実行抑止ステップと、
を有することを特徴とする多重系システムにおける再同期方法。
In a resynchronization method in a multi-system where each task executes the same processing in a plurality of computers,
The multi-system system adjusts the task processing state of the recovery target computer of the plurality of computers to the task processing state of the operating computer while all the tasks are stopped in the plurality of computers. A state matching step that matches the processing state of each task between the plurality of computers and sets each task to a state in which the same processing can be executed synchronously again;
The multi-system system adjusts the start time of the periods of the plurality of periodic drive tasks so that the start times of the periods of the plurality of periodic drive tasks that are driven periodically among the tasks are periodically aligned. Steps,
A task execution suppression step for restricting execution of tasks other than the plurality of periodic drive tasks over a predetermined period immediately before the multi-system system has start times of the plurality of periodic drive tasks; and
A resynchronization method in a multiplex system characterized by comprising:
前記状態一致化ステップでは、
前記多重系システムが、前記直前の所定期間において、前記各タスクの処理状態の差分を前記稼働中の計算機から前記復旧対象の計算機に転送することを特徴とする請求項6に記載の多重系システムにおける再同期方法。
In the state matching step,
The multi-system system according to claim 6, wherein the multi-system system transfers a difference in processing state of each task from the operating computer to the recovery target computer in the predetermined period immediately before the multi-system system. Resynchronization method.
前記開始時刻調整ステップでは、
前記多重系システムが、前記複数の周期駆動タスクのうちのいずれか所定の周期駆動タスクの初回周期の開始時刻を、既に稼働中の他の周期駆動タスクの周期の開始時刻に合わせるように調整することを特徴とする請求項6に記載の多重系システムにおける再同期方法。
In the start time adjustment step,
The multi-system adjusts the start time of the initial period of any one of the plurality of periodic drive tasks to the start time of the period of another periodic drive task that is already in operation The resynchronization method in a multi-system according to claim 6.
前記開始時刻調整ステップでは、
前記多重系システムが、前記複数の周期駆動タスクのうち所定の周期駆動タスクの初回周期の開始時刻を決定する際、前記所定の周期駆動タスクの第一の周期と、前記複数の周期駆動タスクのうち既に稼働中の周期駆動タスクの周期の開始時刻が揃う第二の周期と、の最大公約数の整数倍を前記第二の周期の開始時刻に加算した時刻を、前記所定の周期駆動タスクの初回周期の開始時刻と設定することを特徴とする請求項6に記載の多重系システムにおける再同期方法。
In the start time adjustment step,
When the multi-system determines a start time of an initial period of a predetermined periodic driving task among the plurality of periodic driving tasks, a first period of the predetermined periodic driving task and a plurality of periodic driving tasks A time obtained by adding an integer multiple of the greatest common divisor to the second cycle in which the cycle start times of the already running cycle drive tasks are aligned is added to the start time of the second cycle. 7. The resynchronization method in a multiplex system according to claim 6, wherein the resynchronization method is set to a start time of an initial period.
前記状態一致化ステップでは、
前記多重系システムが、前記直前の所定期間に前記各タスクの処理状態を一致させる際、前記各タスクのうち前記周期駆動タスクよりも優先して実行されるべき高優先タスクによって更新される処理状態を極力後に一致させ、かつ、
前記タスク実行抑止ステップでは、
前記多重系システムが、前記直前の所定期間において例外的に前記高優先タスクの実行を許容し、
前記状態一致化ステップでは、
その後前記高優先タスクが実行された後、前記多重系システムが、当該高優先タスクによってさらに更新された処理状態を再度前記複数の計算機の間で一致させることを特徴とする請求項6に記載の多重系システムにおける再同期方法。
In the state matching step,
When the multiplex system matches the processing state of each task in the predetermined period immediately before, the processing state updated by a high priority task that should be executed with priority over the periodic drive task among the tasks Match as much as possible, and
In the task execution suppression step,
The multi-system system allows the execution of the high priority task exceptionally in the predetermined period immediately before,
In the state matching step,
The system according to claim 6, wherein after the high-priority task is executed, the multi-system system again matches the processing state further updated by the high-priority task among the plurality of computers. A resynchronization method in a multisystem.
JP2017142028A 2017-07-21 2017-07-21 Resynchronization method in multiple systems and multiple systems Active JP6824124B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017142028A JP6824124B2 (en) 2017-07-21 2017-07-21 Resynchronization method in multiple systems and multiple systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017142028A JP6824124B2 (en) 2017-07-21 2017-07-21 Resynchronization method in multiple systems and multiple systems

Publications (2)

Publication Number Publication Date
JP2019021257A true JP2019021257A (en) 2019-02-07
JP6824124B2 JP6824124B2 (en) 2021-02-03

Family

ID=65353393

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017142028A Active JP6824124B2 (en) 2017-07-21 2017-07-21 Resynchronization method in multiple systems and multiple systems

Country Status (1)

Country Link
JP (1) JP6824124B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006268754A (en) * 2005-03-25 2006-10-05 Toshiba Corp Scheduling possibility determination method, real-time system and program
JP2009217505A (en) * 2008-03-10 2009-09-24 Hitachi Ltd Computer system, computer control method, and computer control program
US20130055276A1 (en) * 2011-08-26 2013-02-28 Knu-Industry Cooperation Foundation Task scheduling method and apparatus
JP2014029662A (en) * 2012-06-28 2014-02-13 Ntt Docomo Inc Task control device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006268754A (en) * 2005-03-25 2006-10-05 Toshiba Corp Scheduling possibility determination method, real-time system and program
JP2009217505A (en) * 2008-03-10 2009-09-24 Hitachi Ltd Computer system, computer control method, and computer control program
US20130055276A1 (en) * 2011-08-26 2013-02-28 Knu-Industry Cooperation Foundation Task scheduling method and apparatus
JP2014029662A (en) * 2012-06-28 2014-02-13 Ntt Docomo Inc Task control device

Also Published As

Publication number Publication date
JP6824124B2 (en) 2021-02-03

Similar Documents

Publication Publication Date Title
US5802267A (en) Method for checkpointing in computer system under distributed processing environment
US7865763B2 (en) Data replication method
EP3562123A1 (en) Node device running method, working state switching device, node device, and medium
JP4581500B2 (en) Disaster recovery system, program, and database recovery method
US8862843B2 (en) Storage system, backup storage apparatus, and backup control method
US8407435B2 (en) Efficiently creating a snapshot of a large consistency group using multiple commands including a snapshot preparation command
JP5647624B2 (en) Multi-server application synchronization method, program, and system without interrupting I / O
US8959059B2 (en) Adaptive quiesce for efficient cross-host consistent CDP checkpoints
US9398094B2 (en) Data transfer device
WO2016048921A1 (en) Snapshot and replication of a multi-stream application on multiple hosts at near-sync frequency
JP2004303025A (en) Information processing method, its execution system, its processing program, disaster recovery method and system, storage device for executing the processing, and its control processing method
WO2014059804A1 (en) Method and system for data synchronization
JP6602177B2 (en) Information processing apparatus, control method therefor, system, and program
US10956079B2 (en) Data resynchronization
JP2011028430A (en) Information processing apparatus, control method for information processing apparatus, and program
US10838757B2 (en) Management apparatus and information processing system
US20130262913A1 (en) Information processing apparatus, system time synchronization method and computer readable medium
JP7192388B2 (en) Parallel processing device, parallel operation execution program and backup method
JP5436422B2 (en) High integrity and high availability computer processing module
JP2019021257A (en) Multiplex system and method for resynchronization of multiplex system
JP6879960B2 (en) Backup control method and system
JP2014016953A (en) Unshared type database system, synchronizing device, database server, its synchronizing method, and synchronizing program
JP6056408B2 (en) Fault tolerant system
CN114116144A (en) Lightweight global transaction manager and control method thereof
US9208192B2 (en) Conditional storage of multiple information items

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201207

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210112

R150 Certificate of patent or registration of utility model

Ref document number: 6824124

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150