JP2019021257A - Multiplex system and method for resynchronization of multiplex system - Google Patents
Multiplex system and method for resynchronization of multiplex system Download PDFInfo
- 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
Links
Images
Landscapes
- Hardware Redundancy (AREA)
Abstract
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.
近年、マルチコアプロセッサが普及しており、多数のタスクを並列に実行することができるようになっている。すなわち、複数の周期駆動タスク及びイベント駆動タスクを並列動作させたり、バッチ処理のような比較的処理時間が長いタスクを平行して実行させることが可能となっている。 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.
以下、図面について、本発明の一実施の形態について詳述する。ある種の多重系システムでは、複数の計算機におけるタスクの内部状態の同期方法(以下「再同期方法」ともいう)を、第一のフェーズ、第二のフェーズ及び第三のフェーズという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
The
上述した各計算機10〜12上では、同一のタスク群が同期しながら動作する。すなわち、各計算機10〜12上で動作する各タスクは、外部装置40または照合装置30から、内部ネットワーク50及び通信装置104を介して同一のデータを受信し、同一のタイミングで同一の処理を実行し、同一の処理結果を得る。各タスクは、内部ネットワーク50を介して照合装置30に対して、上記処理の結果を出力する。
On each of the
照合装置30は、各計算機10〜12から受信した上記処理の結果を比較し、正しいと判定された処理結果のみを外部装置40に出力する。なお、各計算機10〜12上では、上記処理の結果に影響を与えない限り、それらのタスクに同期して動作しない他のタスクが動作してもよい。
The
図2は、図1に示す計算機10の構成例を示す。計算機11,12は、計算機10と同様な構成であるため、これらについては説明を省略する。
FIG. 2 shows a configuration example of the
計算機10は、少なくとも上記処理を実行するタスク(ソフトウェアプログラム)及びデータ等を格納するメモリ102と、メモリ102上のソフトウェアプログラムを実行するCPU(Central Processing Unit)101と、データが格納される記憶装置103と、内部ネットワーク50を介してデータを送受信する通信装置104と、計時機能によってタスクの起床タイミングを制御するタイマ装置106と、を備えている。なお、照合装置30及び外部装置40は、計算機10と同様のハードウェア構成としても良いため、その説明を省略する。
The
(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
計算機10は、再同期部70、タスクスケジューラ80、タイマ部81、タスク90、再同期周期管理テーブル600及び周期駆動タスク管理テーブル700を備えている。
The
タスク90は、当該多重系システムにおいて業務を行うソフトウェアプログラムの集合である。このタスク90は、周期的に駆動される周期駆動タスク、周期駆動タスクではないタスクであって所定の契機で駆動するタスク(以下「イベント駆動タスク」という)、及び、バッチ処理等を実行するタスクを含んでいる。
The
タスクスケジューラ80は、タスク90またはその他ソフトウェアプログラムが実行可能な状態にある際、所定のアルゴリズムに基づきそのうちの一つを選択し、CPU101にこの選択した1つを実行させる。計算機10〜12が複数のCPU101を備えている場合、各CPU101ごとに上記タスクなどが選択され実行される。
When the
タイマ部81は、少なくとも、周期駆動タスクが一定の周期で駆動するための契機を与えたり、タイムアウト処理を実現するための機能を提供する。例えば、後述する図5に示す行710のように、周期開始時刻703が100であり、かつ、周期T(周期704の値に相当)が3である周期駆動タスク(タスク識別子=3であるタスク)が登録されている場合、タイマ部81は、時刻が100,103,106のタイミングにおいて、タスク識別子701が1であるタスクに駆動の契機を与える。
The
再同期部70は、復旧対象である計算機11のタスクの処理状態を、稼働中の計算機10のタスクの処理状態に一致させ、この計算機11を再び稼働中の状態にし、多重系を構成する残りの計算機12と同期して動作させるための機能を提供する。
The
再同期部70は、タスク実行抑止部71及び状態一致化部72を備えている。稼働中または停止中であるかに関わらず、計算機10のみならず計算機11,12は、計算機10と同様に構成されている。ここで、一例として、複数の計算機10〜12のうち計算機10を稼働中の計算機と仮定する一方、残りの計算機11,12のうち計算機11を再同期させる必要がある復旧対象の計算機と仮定する。
The
計算機10の状態一致化部72は、再同期の開始要求を受け取ると、タスクの状態の内容またはその差分を、内部ネットワーク50を介して送信し、計算機11の状態一致化部72がこれを受信する。さらに計算機11の状態一致化部72は、予め起動しておいたタスク群に対し、上記受信したタスクの状態の内容またはその差分を反映させる。なお、状態一致化部72による詳細な処理内容については後述する。
When the
再同期周期管理テーブル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
図4は、再同期周期管理テーブル600の一例を示す。再同期周期管理テーブル600は、そのカラムとして、更新時刻601、再同期周期開始時刻tR、及び再同期周期TRを有する。
FIG. 4 shows an example of the resynchronization cycle management table 600. Resynchronization cycle management table 600 has as its columns,
更新時刻601は、当該行を更新した時刻を示す。再同期周期開始時刻602は、稼働中の全周期駆動タスクの周期開始時刻が一致する時刻の一つを表す。再同期周期603は、上述した一致する時刻と次に一致する時刻との時間間隔を表す。
The
再同期周期管理テーブル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
この再同期周期管理テーブル600は、実際には、このように過去の更新履歴(更新時刻601が100である時の行610の内容に相当)を保持する必要はなく、最新の再同期周期開始時刻tR(再同期周期開始時刻602の値に相当)及び再同期周期TR(再同期周期603の値に相当)のみ(行620の内容に相当)を保持していれば十分である。
The resynchronization cycle management table 600 does not actually need to hold the past update history (corresponding to the contents of the
図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
タスク識別子701は、タイマ作動時に駆動させる周期駆動タスクを特定するための識別子である。要求周期開始時刻702は、初回周期の開始時刻として指示された時刻を示す。図示の例においては、タスク識別子が1であるタスクについて、当該初回周期の開始時刻が周期タイマ登録を実施しようとした時刻と同一であることを仮定している。周期開始時刻703は、周期開始時刻の調整機能により調整された初回周期の開始時刻を示しており、要求周期開始時刻702以降の時刻となる。
The
周期704は、周期駆動タスクから要求された周期を示しており、当該周期タスクが周期処理を実行する時間間隔を表している。例えば、行710の内容によれば、タスク識別子701が1であるタスクは、開始時刻が100である時点から周期3ごとに、時刻100,103,106において起動されることを意味している。
A
(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
その後、タイマ部81が作動するまで待ち処理を実行し続け(ステップS403)、タイマ部81が作動した後、当該周期における周期処理を実施する(ステップS404)。この周期処理では、周期駆動タスクの処理状態に従って一意に動作するものとし、処理結果は周期駆動タスクの処理状態に反映され、次の周期以降でも利用する。周期駆動タスクは、周期処理を終えると、ステップS403に戻り、再び待ち処理を続ける。なお、周期タイマ登録の詳細については後述する。
Thereafter, the waiting process continues to be executed until the
(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
図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)、再同期周期開始時刻tR(再同期周期開始時刻602の値に相当)にtreqを代入するとともに、再同期周期TR(再同期周期603の値に相当)にTを代入する(ステップS803)。
First, the
一方、タイマ部81は、再同期周期管理テーブル600が空でなかった場合、tを次の再同期周期開始時刻にセットする(ステップS805)。すなわち、タイマ部81は、treq<tR+n・TR=t(nは整数)を満たす最小のtを求める。
On the other hand, if the resynchronization cycle management table 600 is not empty, the
続けて、タイマ部81は、再同期周期開始時刻tRに上記tをセットし(ステップS806)、さらに再同期周期TRを全周期駆動タスク(当該周期駆動タスクを含む)の周期704の最小公倍数にセットする(ステップS807)。最後にタイマ部81は、周期駆動タスク管理テーブル700の新規行に、当該周期駆動タスクに関する周期開始時刻t及び周期Tを登録する(ステップS804)。
Subsequently, the
ここで、図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
次にタイマ部81は、周期駆動タスク管理テーブル700に、時刻が104である時に周期704が4である周期タイマを登録する。次の再同期周期の開始時刻は100+2・3=106であるため、タイマ部81は、周期駆動タスク管理テーブル700に、周期開始時刻703に106をセットする。タイマ部81は、再同期周期管理テーブル600において再同期周期開始時刻602を同様に106に更新し、再同期周期を、3と4の公倍数である12に更新する。
Next, the
続いて、タイマ部81は、時刻が110である時に周期が6である周期タイマを登録する。次の再同期周期の開始時刻は106+1・12=118であるので、タイマ部81は、周期駆動タスク管理テーブル700において、周期開始時刻703を118とするとともに周期を6(周期704の値に相当)として登録する。再同期周期603は、3と4と6との最小公倍数である12と更新すべきであるが、現在の値と等しい場合、タイマ部81は、再同期周期管理テーブル600を更新しなくても良い。
Subsequently, the
以上のような手順によると、少なくとも全周期駆動タスクの周期の最小公倍数で表される周期にて、全周期駆動タスクの周期の開始時刻が一致する時刻が現れる。すなわち、上記一致する時刻の直前は、最も長時間に亘って、周期駆動タスクが動作しない時間帯であることが期待できる。つまり、遅くとも、上記最小公倍数で示される周期時間を待てば、周期駆動タスクの実行を阻害することなく、例えば複数の計算機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
次に、再同期部70のメイン処理である状態一致化部72について説明する。ここで、一致させる状態について補足しておく。実際に再同期を実現するためには様々な「処理状態」を一致させる必要がある。このような処理状態は、例えば、各タスクのメモリ内容、共有メモリ、ファイル及び通信バッファに関する状態である。本実施の形態では、例えば照合装置30の共有メモリ上に全ての処理状態が格納されていると仮定し、処理状態の一致化をするものとして説明する。その理由としては、一般に状態一致化のために必要な転送データの多くはメモリ上に格納された処理データであり、それ以外の処理状態の転送は短時間で実施できることが見込まれるためである。共有メモリに対して状態一致化できれば、タスクのプライベートなメモリに対して応用することもできる。
Next, the
図11は、状態一致化処理の一例を示す。この状態一致化処理は、状態一致化部72によって、前述した第一フェーズ及び第二フェーズとして実行される処理である。
FIG. 11 shows an example of the state matching process. This state matching process is a process executed by the
状態一致化部72は、計算機10の起動に併せて起動される。状態一致化部72は、再同期状態を「停止中」にセットし(ステップS1301)、再同期要求が発生するまで待機処理を実行する(ステップS1302)。
The
状態一致化部72は、その後再同期要求が発生すると、再同期状態を「第一フェーズ」にセットし(ステップS1303)、タスクの処理状態の更新記録を開始する(ステップS1304)。ここでいうタスクの処理状態とは、例えばメモリ102上に置かれたデータのうち、タスクの処理内容を一意に定め得るデータを示す。このようにタスクの処理状態がメモリ102上のデータを指す場合、更新を記録する方法としては、ページテーブルのダーティビットを使用する方法が存在している。この方法では、メモリ102のメモリ領域を所定のサイズのブロックに分割したものをページと呼び、このページの状態は、図示しないページテーブルを用いて管理される。例えば、このページテーブルによって管理されるダーティビットは、当該ページ内の任意の領域に対して書き込みが発生した場合、ハードウェアによって「1」にセットされる。従って、タスクの状態が格納されたメモリ102上のページについて、ページテーブルのダーティビットを0にクリアすることにより、更新を記録することができる。その後、ダーティビットが1になっていた場合、更新があったとみなされる。
When the re-synchronization request is subsequently generated, the
ここで、更新記録の開始処理中に当該メモリ102の内容が更新されることを防ぐため、当該メモリを参照し得る全タスクの実行を一時停止させる必要がある。この一時停止期間は十分短いので、周期駆動タスクの周期抜けの要因にはならない。
Here, in order to prevent the contents of the
続いて、状態一致化部72は、タスクの処理状態を全て、再同期させるべき復旧対象の計算機11に転送する(ステップS1305)。
Subsequently, the
状態一致化部72は、タスクの処理状態を全て停止計算機11に転送した後、再同期状態を「第二フェーズ」にセットする(ステップS1306)。さらに状態一致化部72は、後述する「更新LRU(Last Recently Used)リスト」の内容をクリアする(ステップS1307)。更新LRUリストは、新旧二つのリストを含むが、両方ともクリアされる。
The
その後、状態一致化部72は、適当なタイミングにて、タスクの処理状態の更新箇所を抽出する(ステップS1308)。この抽出方法の詳細については後述する。
Thereafter, the
続いて、状態一致化部72は、このように抽出した更新箇所から更新量を算出し(ステップS1309)、その更新量が閾値以上であるか否かを判定する(ステップS1310)。この閾値は、ユーザによって定められた固定値であっても良いし、従前の方法(例えば特許文献1に記載の方法)により求めた値であっても良い。
Subsequently, the
ステップ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
図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
更新ビットマップは、更新が行われたページをビットマップで管理する。例えば処理状態を格納するメモリ領域の先頭ページ(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
一方、更新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
次に状態一致化部72は、例えば前述の方法を用いて、更新がされたページを調べ、そのPFNを得る(ステップS1404)。一般にページの更新の有無の検出はタスク単位で実施される。状態一致化部72は、そのタスクが「高優先」と予め指定されたイベント駆動タスクであるかどうか判定する(ステップS1405)。
Next, the
そのタスクが「高優先」と指定されてない場合、状態一致化部72は、上述のように得られたPFNに対応する更新ビットマップ上のビットを1にセットする(ステップS1406)。一方、そのタスクが「高優先」と指定されている場合、状態一致化部72は、当該PFNが旧更新LRUリスト上に存在すればそれを取り除き(ステップS1407)、当該PFNを新更新LRUリストの先頭に登録する(ステップS1408)。
If the task is not designated as “high priority”, the
状態一致化部72は、処理状態を格納するメモリ領域の全ページの更新有無についてスキャンが完了したと判定されるまで(ステップS1409)、以上のようなステップS1404〜S1408を繰り返し実行する。
The
状態一致化部72は、全ページのスキャンが完了した後、処理状態の更新記録をリセットし(ステップS1410)、全タスクの実行の一時停止を解除する(ステップS1411)。
After the scanning of all pages is completed, the
ここで、ステップ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
続いて、状態一致化部72は、新更新LRUリストの末尾から順に、対応するページをステップS1502と同様に転送する(ステップS1503)。最後に状態一致化部72は、新更新LRUリストの後ろに旧更新LRUリストを繋ぎ、これを旧更新LRUリストとする(ステップS1504)。
Subsequently, the
以下、図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
次に状態一致化部72は、稼働中のタスクが停止するまで待ち処理を継続する(ステップS1603)。これは、全ての同期対象のタスクについて、周期駆動タスクであれば待ち処理(図6のステップS403に相当)の状態を継続することを意味する一方、イベント駆動タスクであればイベント待ち処理(図7のステップS502に相当)の状態を継続することを意味する。
Next, the
その後、状態一致化部72は、図11に示すステップS1308と同様に、タスクの処理状態の更新箇所を抽出し(ステップS1604)、その更新量がゼロであるか否かをチェックする(ステップS1605)。
After that, the
ステップS1605において更新量がゼロでない場合、状態一致化部72は、図11のステップS1311と同様に、更新がなされたタスクの処理状態を転送し(ステップS1606)、ステップS1604に戻ってこれを実行する。すなわち、状態一致化部72は、複数の周期駆動タスクの開始時刻が揃う直前の所定期間である再同期期間に、各タスクの処理状態の差分を稼働中の計算機10から復旧対象の計算機11に転送する。
If the update amount is not zero in step S1605, the
一方、ステップS1605において更新量がゼロであった場合、状態一致化部72は、再同期状態を「第四フェーズ」にセットし(ステップS1607)、残りのタスクの状態を稼働中の計算機10から再同期させるべき復旧対象の計算機11に転送する(ステップS1608)。すなわち、状態一致化部72は、複数の周期駆動タスクの開始時刻が揃う直前の所定期間である再同期期間に、各タスクの処理状態の差分を稼働中の計算機10から復旧対象の計算機11に転送する。ここでいうタスクの状態とは、ステップS1311やステップS1606で転送したタスクの処理状態以外であって一致化が必要な「状態」を示している。一般に、この種の「状態」情報は少量であり、転送は短時間で実施できることが期待できる。
On the other hand, if the update amount is zero in
状態一致化部72は、そのような転送が完了した後、再同期中断タイマを停止し(ステップS1609)、再同期状態を「停止中」にリセットし(ステップS1610)、タスクの実行抑止の解除を要請した後(ステップS1611)、再同期要求待ち(図11のステップS1302)に戻ってこれを実行する。なお、タスクの実行抑止については後述する。
After such transfer is completed, the
図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
図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
まず、タスク実行抑止部71は、再同期状態が第四フェーズであるか否かを判定する(ステップS1801)。
First, the task
ステップS1801において再同期状態が第四フェーズである場合、タスク実行抑止部71は、タスクの実行抑止とする(ステップS1810)。この場合、タスク実行抑止部71は、ステップS1611またはステップS1702において実行抑止が解除されるまで、当該タスクの実行を規制している。
If the resynchronization state is the fourth phase in step S1801, the task
一方、ステップ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
タスク実行抑止部71は、再同期状態が第三フェーズである場合には当該タスクの実行を抑止する一方(ステップS1810)、再同期状態が第三フェーズでない場合には再同期状態が第二フェーズであるか否かを判定する(ステップS1804)。
When the resynchronization state is the third phase, the task
再同期状態が第二フェーズではない場合、すなわち、再同期状態が第一フェーズまたは「停止中」である場合、タスク実行抑止部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
タスク実行抑止部71は、当該タスクの予想完了時刻が当該末尾の所定期間内に含まれる場合には当該タスクの実行を抑止する一方(ステップS1810)、当該タスクの予想完了時刻が当該末尾の所定期間内に含まれない場合には当該タスクの実行を許可する(ステップS1820)。
When the expected completion time of the task is included in the predetermined period at the end, the task
その後、高優先と指定されたタスクが実行された後、多重系システム1では、状態一致化部72が、当該高優先タスクによってさらに更新された処理状態を再度複数の計算機10,11などの間で転送して一致させる。
Thereafter, after the task designated as high priority is executed, in the
ここで、前述したステップ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
具体的には、タスク実行抑止部71は、ステップS504におけるイベント処理時間をタスクごとに集計し、その平均及び標準偏差を算出し、この平均をこの標準偏差に加えて、予測される最大処理時間を算出する。再同期期間の末尾については、タスク実行抑止部71が、再同期周期管理テーブル600の再同期周期開始時刻602及び再同期周期603に基づいて、次の再同期周期の開始時刻を求めることにより算出することができる。
Specifically, the task
ステップ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
ここで、ステップ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
以上説明したように、イベント駆動タスクの実行抑止を適宜実施することにより、周期駆動タスクの周期抜けを起こさず、高優先と指定されているタスクの応答性を低下させないようにしつつ複数の計算機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
図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は、再同期周期TR(再同期周期603の値に相当)と、周期T(周期704の値に相当)との最大公約数Gを算出する(ステップS905)。
When the resynchronization cycle management table 600 is not empty in step S901, first, the
次にタイマ部81は、treq<tR+n・G=t(nは整数)を満たす最小のtを算出し、この最少のtを調整後の周期開始時刻t(周期開始時刻703の値に相当)とする(ステップS906)。
Next, the
続いて、タイマ部81は、次の再同期周期開始時刻tR’を算出し(ステップS907)、この再同期周期開始時刻tRを上記次の再同期周期開始時刻tR’で更新する(ステップS908)。さらにタイマ部81は、再同期周期TRを全周期駆動タスクの周期の最小公倍数に更新する(ステップ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).
図18は、図17において次の再同期周期開始時刻tR’を算出する方法の一例を示す。まず、タイマ部81は、初期状態としてt0にtRをセットするとともに、t1にtをセットする(ステップS1001)。ここで、タイマ部81は、t0とt1とを比較する(ステップS1002)。
FIG. 18 shows an example of a method for calculating the next resynchronization cycle start time t R ′ in FIG. First, the
t0とt1とが等しい場合、タイマ部81は、次の再同期周期開始時刻tR’をこのときのt1にセットし(ステップS1003)、当該処理を終了する(ステップS1004)。
When t 0 and t 1 are equal, the
一方、t0とt1とが異なる場合、タイマ部81は、その大小について比較する(ステップS1005)。タイマ部81は、t0がt1より小さければt0にTRを加算し(ステップS1006)、ステップS1002に戻って実行する一方、t0がt1より大きければt1にTを加算し(ステップS1007)、ステップS1002に戻って実行する。
On the other hand, when t 0 and t 1 are different, the
以下、図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
この際、再同期周期(再同期周期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は、この一致する時刻を新たな再同期周期開始時刻tR(再同期周期開始時刻602の値に相当)と設定する。タスク実行抑止部71は、再同期周期(再同期周期603の値に相当)について3と4との最小公倍数である12で更新する。
At
その後、要求周期開始時刻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
再同期周期603については、12と6との最小公倍数は12であり、これは現在の値と等しいので、タスク実行抑止部71は、再同期周期管理テーブル600を更新しなくても良い。
For the
以上により、タスク識別子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
前述した第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
(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
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.
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)
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 |
-
2017
- 2017-07-21 JP JP2017142028A patent/JP6824124B2/en active Active
Patent Citations (4)
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 |