JP5153310B2 - Fault tolerant computer system, resynchronization operation processing method, and program - Google Patents
Fault tolerant computer system, resynchronization operation processing method, and program Download PDFInfo
- Publication number
- JP5153310B2 JP5153310B2 JP2007318695A JP2007318695A JP5153310B2 JP 5153310 B2 JP5153310 B2 JP 5153310B2 JP 2007318695 A JP2007318695 A JP 2007318695A JP 2007318695 A JP2007318695 A JP 2007318695A JP 5153310 B2 JP5153310 B2 JP 5153310B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- processing
- embedded
- user program
- input
- 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.)
- Expired - Fee Related
Links
- 238000003672 processing method Methods 0.000 title claims description 5
- 238000012545 processing Methods 0.000 claims description 242
- 238000000034 method Methods 0.000 claims description 111
- 230000008569 process Effects 0.000 claims description 102
- 238000012546 transfer Methods 0.000 claims description 27
- 230000000737 periodic effect Effects 0.000 claims description 25
- 230000005540 biological transmission Effects 0.000 claims description 18
- 238000001994 activation Methods 0.000 claims description 9
- 230000004913 activation Effects 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 6
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 238000007726 management method Methods 0.000 description 31
- 238000004891 communication Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 15
- 238000012423 maintenance Methods 0.000 description 12
- 238000011084 recovery Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 238000010348 incorporation Methods 0.000 description 2
- 230000008685 targeting Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Landscapes
- Hardware Redundancy (AREA)
- Stored Programmes (AREA)
Description
本発明は、ネットワークを介して相互接続した、複数の独立したノードにより構成され、構成する各ノードにおいて同じ処理を並列実行させることによるフォールトトレラントコンピュータ(Fault Tolerant Computer)システムに関し、該システムにて実行、提供されるサービスは無停止であることを保証して、特にソフトウェア更新、ハードウェア更改または障害回復、メンテナンス等のためにシステム稼働中に停止させていたノードを再起動し、稼働中の他のノードは無停止、処理継続のまま、稼働中の他のノードと保有するデータ内容、プログラムの実行状態、入出力等を一致させ、実行状態に移行することにより該ノードをシステムに再度組込むという、ノードの再同期稼働化処理に関するものである。 The present invention relates to a fault-tolerant computer (Fault Tolerant Computer) system configured by a plurality of independent nodes interconnected via a network, and executing the same processing in parallel in each of the configured nodes. , Ensure that the services provided are non-disruptive, restart nodes that were stopped during system operation, especially for software updates, hardware updates or failure recovery, maintenance, etc. This node is not stopped, continues processing, matches the data content, program execution status, input / output, etc. with other operating nodes, and moves to the execution status to incorporate the node into the system again , Node resynchronization activation processing.
複数のサブシステムから送出される同一データを二台のホストコンピュータで同時に処理する二重化コンピュータシステムにおいて、二重化運転を開始する際の、処理データの同期合わせ、すなわちマスター系処理データのスレーブ系へのコピー処理(以下、この処理を「スレーブ組み込み処理」という。)を、二台のディスク装置と、系間通信路を用いて行う、ことを特徴とする二重化コンピュータシステムのスレーブ組込方法(特許文献1参照)などが提案されている。
ところで、従来のスレーブ組み込み処理では、ノードの再同期稼働化を行うために、稼働中ノードにおける処理を一時停止させてから、データのコピー処理を行い、コピー処理完了後に、組込みノードも含めた全ノードの処理を一斉に再開させることで、ノード間のデータ内容、プログラムの実行状態、入出力等の一致化を図っている。しかし、稼働中ノードを無停止のままで再同期稼働化を実行しようとすると、たとえあるタイミングで稼働中ノードと組込みノードとの間でデータが一致化していたとしても、同期していない異なるタイミングで各々のノードにてプログラムの処理が実施されると、異なるタイミングでのデータの読み書きが発生し、ノード間でデータ内容に違いが生じてくる。またデータ内容が異なれば、これらを参照して行う処理の結果は、同一処理内容であっても異なる可能性があり、ノード間で出力に不一致が生じる可能性がある。 By the way, in the conventional slave embedding process, in order to perform resynchronization operation of the node, the process in the operating node is temporarily stopped and then the data copy process is performed. After the copy process is completed, all the processes including the embedded node are performed. By resuming the processing of the nodes all at once, the data contents between the nodes, the execution state of the program, the input / output, etc. are matched. However, if you try to perform resynchronization operation without stopping the active node, even if the data is consistent between the active node and the embedded node at a certain timing, different timing that is not synchronized When the processing of the program is executed at each node, data reading / writing occurs at different timings, and the data contents differ between the nodes. Also, if the data contents are different, the results of the processing performed by referring to them may be different even if the processing contents are the same, and there may be a mismatch in output between nodes.
そこで、本発明は上記課題に鑑みてなされたものであり、ソフトウェア更新、ハードウェア更改または障害回復、メンテナンス等のために停止させていたノードを再度システムに組込む際に、正常稼働中のノードの処理を中断することなく、該ノードを稼働中ノードと処理タイミングを一致化させ、漏れなく必要な処理を実行することを可能とし、フォールトトレラントコンピュータシステムによる高い信頼性の維持、該システムにより実行ないし提供されるサービスの無停止を保証するような、ノードの再同期稼働化の方法を提供することを主たる目的とする。 Therefore, the present invention has been made in view of the above problems, and when a node that has been stopped for software update, hardware update or failure recovery, maintenance, etc. is re-installed in the system, Without interrupting the processing, it is possible to match the processing timing of the node with the operating node, and to execute necessary processing without omission, maintaining high reliability by the fault-tolerant computer system, The main purpose is to provide a node resynchronization operation method that guarantees non-stop service provided.
上記課題を解決するため、本発明によるフォールトトレラントコンピュータシステムは、ネットワークを介して相互に接続された複数のノードを備え、複数のノードの各ノードにおいて同じ処理を独立に並列実行させる。各ノードは、システム内の稼働中のノード(以下「稼働中ノード」という。)は無停止かつ処理を継続させた状態で、停止状態から再起動したノード(以下「組込みノード」という。)を稼働中ノードとの間で処理タイミングを合わせてシステムへ再度組込む、という再同期稼働化処理を行う駆動管理部と、稼働中ノードと組込みノードとの間で、データ内容を含むノードの状態を一致させるデータ一致化処理を行うデータ同期処理部と、を備える。ここで、駆動管理部は、ノードが稼働中ノードである場合には、ユーザプログラムの処理を実行開始する度に、組込みノードに対して処理開始の通知を行い、ノードが組込みノードである場合には、データ同期処理部によって稼働中ノードと当該組込みノードとの間でのデータ一致化処理が完了していた場合に、当該組込みノードが稼働中ノードから受信した処理開始通知を参照して、ユーザプログラムの処理を開始することを特徴とする。 In order to solve the above problems, a fault-tolerant computer system according to the present invention includes a plurality of nodes connected to each other via a network, and the same processing is independently executed in parallel in each node of the plurality of nodes. Each node is a node that is restarted from a stopped state (hereinafter referred to as an “embedded node”) in a state in which an operating node in the system (hereinafter referred to as “active node”) is not stopped and processing is continued. The state of the node including the data contents is matched between the active node and the embedded node, and the drive management unit that performs resynchronization operation processing that re-integrates into the system at the same processing timing with the active node A data synchronization processing unit that performs data matching processing. Here, when the node is an active node, the drive management unit notifies the embedded node of the start of processing every time the processing of the user program starts, and when the node is an embedded node. Refers to the processing start notification received by the embedded node from the active node when the data matching processing between the active node and the embedded node has been completed by the data synchronization processing unit. The program processing is started.
好適には、駆動管理部は、ノードが組込みノードである場合、稼働中ノードから送信されるデータ一致化用データ送信完了通知を受信することによって、稼働中ノードと当該組込みノードとの間でのデータ一致化の完了を判定する。 Preferably, when the node is a built-in node, the drive management unit receives a data matching completion notification for data matching transmitted from the working node, so that the operation management unit communicates between the working node and the built-in node. Determine completion of data matching.
また、駆動管理部は、入力をトリガーとして処理を実施するユーザプログラムに関して、再同期稼働化処理を行う入力駆動管理部を含むことが好ましい。ここで、入力駆動管理部は、ノードが稼働中ノードである場合には、当該ノードにおいて入力を受信し、ユーザプログラムの処理を開始する度に、組込みノードに対して処理開始の通知及び入力の転送を行い、ノードが組込みノードである場合には、稼働中ノードから転送された入力、又は、当該組込みノードにて直接受信した入力を用いて、ユーザプログラムの処理を実施することを特徴とする。 Moreover, it is preferable that a drive management part contains the input drive management part which performs a resynchronization operation | movement process regarding the user program which implements a process with an input as a trigger. Here, when the node is an active node, the input drive management unit receives the input at the node, and each time the user program starts processing, the input drive management unit notifies the embedded node of processing start and input When the node is an embedded node, the processing of the user program is performed using the input transferred from the active node or the input directly received by the embedded node. .
好適には、入力駆動管理部は、ノードが組込みノードである場合、当該組込みノードが稼働中ノードからの処理開始通知及び転送された入力を受信した時点又は稼働中ノードから転送された入力に対応する入力を直接受信した時点で、データ同期処理部による稼働中ノードと組込みノードの間でのデータ一致化処理が完了していない場合には、ユーザプログラムの処理を行わず、次の処理開始タイミングまで待機する。 Preferably, when the node is a built-in node, the input drive management unit corresponds to the time when the built-in node receives the processing start notification from the active node and the transferred input or the input transferred from the active node. When the data matching processing between the active node and the embedded node by the data synchronization processing unit is not completed when the input to be directly received is received, the user program processing is not performed and the next processing start timing Wait until.
また、好適には、入力駆動管理部は、ノードが組込みノードである場合、稼働中ノードから受信した入力に対応する入力を当該組込みノードにて直接受信しているか否かを判定し、直接受信していないと判定した場合には、稼働中ノードから転送された入力を用いてユーザプログラムの処理を実施する。 In addition, preferably, when the node is an embedded node, the input drive management unit determines whether the input corresponding to the input received from the active node is directly received by the embedded node and receives the direct reception If it is determined that it is not, the user program is processed using the input transferred from the active node.
さらに好適には、ノードが組込みノードである場合、稼働中ノードから受信した入力に対応する入力を当該組込みノードにて直接受信しているか否かを判定し、直接受信していると判定した場合には、稼働中ノードに対して入力の転送の停止を要求するとともに、以後の処理を、当該組込みノードにて直接受信した入力を用いてユーザプログラムの処理を実施する。 More preferably, when the node is an embedded node, it is determined whether the input corresponding to the input received from the active node is directly received by the embedded node, and it is determined that the input is received directly. In this case, the active node is requested to stop the transfer of the input, and the processing of the user program is executed using the input directly received by the embedded node for the subsequent processing.
加えて、フォールトトレラントコンピュータシステムは、ネットワークに接続され、かつ、ネットワークとは別のネットワークを介して外部システムに接続されるゲートウェイを備えることが好ましい。ここで、ゲートウェイは、外部システムから受け取った入力を複数のノードに転送し、入力に対する処理を複数のノードが並行して略同時に実行した処理結果を受信して比較演算し、比較演算の結果として得られた出力を外部システムに応答として返す。 In addition, the fault tolerant computer system preferably includes a gateway connected to the network and connected to the external system via a network different from the network. Here, the gateway transfers the input received from the external system to a plurality of nodes, receives a processing result obtained by executing the processing on the input in parallel by the plurality of nodes substantially simultaneously, performs a comparison operation, and obtains a comparison operation result. The obtained output is returned to the external system as a response.
また、駆動管理部は、周期的に処理を実施するユーザプログラムに関して、再同期稼働化処理を行う周期駆動管理部を含むことが好ましい。ここで、周期駆動管理部は、ノードが稼働中ノードである場合には、タイマイベントが発生してユーザプログラムの処理を開始する度に、組込みノードに対して処理開始通知の送信を行い、ノードが組込みノードである場合には、稼働中ノードから受信した処理開始通知を参照して、当該組込みノードにてユーザプログラムの現時点から次の周期における処理開始タイミングを算出し、算出した次周期の処理開始タイミングに達した際に、稼働中ノードと組込みノードとの間でのデータ一致化処理が完了している場合、組込みノードにてユーザプログラムの処理を開始することを特徴とする。 Moreover, it is preferable that a drive management part contains the periodic drive management part which performs a resynchronization operation | movement process regarding the user program which performs a process periodically. Here, when the node is an active node, the periodic drive management unit sends a processing start notification to the embedded node every time a timer event occurs and the processing of the user program is started. Is a built-in node, refer to the process start notification received from the active node, calculate the process start timing in the next cycle from the current time of the user program at the built-in node, and process the calculated next cycle When the start timing is reached, if the data matching process between the active node and the embedded node is completed, the process of the user program is started at the embedded node.
好適には、周期駆動管理部は、ノードが組込みノードである場合、再同期稼働化処理におけるユーザプログラムの処理開始後に、稼働中ノードと当該組込みノードとの処理開始タイミングの差異を計測し、該差異が所定値より大きい場合は、当該組込みノードにおける処理タイミングを補正することによって、処理開始タイミングの同期を維持する。 Preferably, when the node is an embedded node, the periodic drive management unit measures a difference in processing start timing between the active node and the embedded node after starting the processing of the user program in the resynchronization activation process, When the difference is larger than a predetermined value, the processing start timing is synchronized by correcting the processing timing in the embedded node.
また、好適には、周期駆動管理部は、ノードが組込みノードである場合、稼働中ノードから受信した処理開始通知を参照して算出した次の周期の処理開始タイミングに達した時点で、データ同期処理部による稼働中ノードと組込みノードの間でのデータ一致化処理が完了していない場合には、ユーザプログラムの処理を行わず、次の周期の処理開始タイミングまで待機する。 Preferably, when the node is a built-in node, the periodic drive management unit performs data synchronization at the time when the processing start timing of the next cycle calculated with reference to the processing start notification received from the active node is reached. If the data matching process between the active node and the embedded node by the processing unit has not been completed, the process of the user program is not performed and the process waits until the process start timing of the next cycle.
さらに好適には、周期駆動管理部は、ノードが組込みノードである場合、稼働中ノードから受信した処理開始通知を参照し、該通知に含まれる周期情報及び該通知の伝送時間を用いて、当該組込みノードにおけるユーザプログラムの次の周期における処理開始タイミングを算出する。 More preferably, when the node is a built-in node, the periodic drive management unit refers to the processing start notification received from the active node, and uses the periodic information included in the notification and the transmission time of the notification, The processing start timing in the next cycle of the user program in the embedded node is calculated.
また、本発明によるフォールトトレラントコンピュータシステムの再同期稼働化処理方法は、ネットワークを介して相互に接続された複数のノードを備え、複数のノードの各ノードにおいて同じ処理を独立に並列実行させるフォールトトレラントコンピュータシステムにおいて、稼働中ノードは無停止かつ処理を継続させた状態で、組込みノードを稼働中ノードとの間で処理タイミングを合わせてシステムへ再度組込む、という再同期稼働化処理を行うための方法である。このフォールトトレラントコンピュータシステムの再同期稼働化処理方法は、稼働中ノードが、ユーザプログラムの処理を実行開始する度に、組込みノードに対して処理開始の通知を行うステップと、組込みノードが、稼働中ノードと当該組込みノードとの間で、データ内容を含むノードの状態を一致させるデータ一致化処理が完了していた場合に、稼働中ノードから受信した処理開始通知を参照して、ユーザプログラムの処理を開始するステップとを備える。 The fault-tolerant computer system resynchronization operation processing method according to the present invention includes a plurality of nodes connected to each other via a network, and the same processing is independently executed in parallel in each node of the plurality of nodes. In a computer system, a method for performing resynchronization operation processing in which an operating node is not stopped and processing is continued, and an embedded node is re-integrated into the system at the same processing timing as the operating node. It is. This fault-tolerant computer system resynchronization activation processing method includes a step of notifying the embedded node of the start of processing each time the operating node starts executing the processing of the user program, and the embedded node is operating. When the data matching process that matches the state of the node including the data contents is completed between the node and the embedded node, refer to the process start notification received from the active node and process the user program. Starting.
また、本発明に係るプログラムは、フォールトトレラントコンピュータシステムの再同期稼働化処理方法の各処理ステップを、フォールトトレラントコンピュータシステムの備える各ノードコンピュータに実行させることを特徴とする。本発明に係るプログラムは、CD−ROM等の光学ディスク、磁気ディスク、半導体メモリなどの各種の記録媒体を通じて、又は通信ネットワークなどを介してダウンロードすることにより、コンピュータにインストール又はロードすることができる。 The program according to the present invention causes each node computer of the fault-tolerant computer system to execute each processing step of the resynchronization activation processing method of the fault-tolerant computer system. The program according to the present invention can be installed or loaded on a computer through various recording media such as an optical disk such as a CD-ROM, a magnetic disk, and a semiconductor memory, or via a communication network.
なお、本明細書等において、「部」とは、物理的手段のみを意味するものではなく、その部が有する機能をソフトウェアによって実現する場合も含む。また、1つの部が有する機能が2つ以上の物理的手段により実現されても、2つ以上の部の機能が1つの物理的手段により実現されてもよい。 In this specification and the like, the “unit” does not mean only a physical means, but includes a case where the function of the unit is realized by software. Also, the functions of one unit may be realized by two or more physical means, or the functions of two or more units may be realized by one physical means.
本発明によれば、ソフトウェア更新、ハードウェア更改または障害回復、メンテナンス等のために停止させていたノードを再度システムに組込む際に、正常稼働中のノードの処理を中断することなく、該ノードを稼働中ノードと処理タイミングを一致化させ、漏れなく必要な処理を実行することを可能とし、フォールトトレラントコンピュータシステムによる高い信頼性の維持、該システムにより実行ないし提供されるサービスの無停止を保証できる。 According to the present invention, when a node that has been stopped for software update, hardware update or failure recovery, maintenance, or the like is re-installed in the system, the node can be connected without interrupting the processing of the normally operating node. It is possible to match the processing timing with the operating node, execute the necessary processing without omission, maintain high reliability by the fault tolerant computer system, and guarantee the non-stop of the service executed or provided by the system. .
以下、本発明の実施の形態について図面を参照しつつ詳細に説明する。なお、基本的に、同一の要素には同一の符号を付し、重複する説明を省略する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Basically, the same elements are denoted by the same reference numerals, and redundant description is omitted.
図1は、本発明の一実施形態に係るフォールトトレラントコンピュータシステムの概要を示す図である。フォールトトレラントコンピュータシステムは、ネットワークを介して相互接続した、複数の独立したノードにより構成され、構成する各ノードにおいて同じ処理を並列に実行させる。 FIG. 1 is a diagram showing an overview of a fault tolerant computer system according to an embodiment of the present invention. The fault-tolerant computer system is composed of a plurality of independent nodes interconnected via a network, and the same processing is executed in parallel in each of the constituting nodes.
同図に示すように、本フォールトトレラントコンピュータシステム0101は、LAN0112を介して相互に接続される2つ以上の独立したノード0111と、広域ネットワーク0102に接続され、外部システム0103との通信の中継を行うゲートウェイサーバ0113とを主な構成要素として備える。
As shown in the figure, the fault
フォールトトレラントコンピュータシステム0101は、広域ネットワーク0102を介して通信可能な外部システム0103からの要求を受け付けて、該要求に対する処理を実施し、処理結果を応答として該外部システム0103に返信することによるサービスを提供する。ここでは外部システム0103からの要求として入力メッセージ0131を受信し、該要求に対する処理結果を格納した出力メッセージ0141を外部システム0103に対して送信する。
The fault-
フォールトトレラントコンピュータシステム0101の内部では、広域ネットワーク0102を介して外部システム0103からの要求として入力メッセージ0131を中継するゲートウェイサーバ0113が、LAN0112を介して、システム内の全てのノード0111に対して、受信した入力メッセージ0131を入力メッセージ0132として転送する。ここで、ほぼ同時に全てのノード0111が該メッセージを受信し、概メッセージに対する処理を開始できるように、ゲートウェイサーバ0113は、入力メッセージ0132をブロードキャスト送信する。該入力メッセージ0132を受信した各ノード0111は、各々該入力メッセージ0132に対する処理を実行して、処理結果を格納した出力メッセージ0142を、LAN0112を介してゲートウェイサーバ0113に対して送信する。各ノード0111からの出力メッセージ0142を受信したゲートウェイサーバ0113は要求元の外部システム0103への応答として出力メッセージ0141を作成し、外部システム0103に対して送信する。ここでゲートウェイサーバ0113は、各ノード0111から受信した1つ以上の出力メッセージ0142のデータ内容の比較照合、正誤判定等を行い、多数決等により決定した最も確からしいメッセージデータを出力メッセージ0141として、要求元の外部システム0103に送信する。
Inside the fault
また、ノード0111のハードウェア構成は、処理装置0121、記憶装置0122、通信装置0123を含む。記憶装置0122には、フォールトトレラントコンピュータシステム0101により外部システム0103に対して提供されるサービスを実行する上で必要なデータ、これらサービスに関する外部システム0103からの要求に対して処理を実行するためのユーザプログラム、複数のノード0111の間での稼働中及び再組込み中の同期を実施するためのソフトウェアプログラム、LAN0112を介してノード0111とゲートウェイサーバ0113との間の通信を行うためのソフトウェアプログラム等が格納され、処理装置0121により処理される。また通信装置0123は、ゲートウェイサーバ0113からの入力メッセージ0132を受信し、ゲートウェイサーバ0113に対して出力メッセージ0142を送信するための通信処理、また複数のノード0111の間での稼働中及び再組込み中の同期を実施するために必要な通信処理を行う。
The hardware configuration of the
なおフォールトトレラントコンピュータシステム0101内に2つ以上のノード0111を含め、これらで外部システム0103からの要求に対する処理を同時に併行して実行させていることで、1つ以上のノードにて障害が発生した場合でも、残りの稼働中のノードが処理を実行することで、システムとして正常動作によるサービス提供を維持することを可能とし、システムの耐障害性、信頼性を高めている。
A fault has occurred in one or more nodes by including two or
図2は、本発明の一実施形態における、フォールトトレラントコンピュータシステム0101を構成し、外部からの要求に対する処理等を実行するノード0111の再同期稼働化の概要を示す図、及び、関連する処理の流れを示すシーケンス図である。ここでは各ノードにて実行するユーザプログラムとして、入力をトリガーとして処理を実施するユーザプログラムが実行される場合を例に挙げている。
FIG. 2 is a diagram showing an outline of resynchronization operation of the
なお、図2に示す例は、フォールトトレラントコンピュータシステム0101において、LAN0112を介して相互接続されるノード0111のうち、稼働中ノード0201と、停止状態からの再同期稼働化を実施する組込みノード0202とを示している。
In the example shown in FIG. 2, in the fault
稼働中ノード0201では、ユーザプログラム0211がデータ0212(共有メモリ、ファイル等)等を参照して処理を行っている。組込みノードの再同期稼働化を実施する際には、稼働中ノード0201におけるユーザプログラム0211等の処理は組込みノード0202の状態に関わらず無停止で正常に実行させたまま、データ0212のコピー及びユーザプログラム0211の実行状態の通知等を行う。組込みノードの再同期稼働化の完了時には、組込みノード0202のデータ0222は稼働中ノード0201のデータ0212と一致化し、組込みノードにおけるユーザプログラム0221は稼働中ノード0201のユーザプログラム0211と同じ実行状態となる。
In the
組込みノード0202の再同期稼働化に関連する処理のシーケンスとして、稼働中ノード0201におけるユーザプログラム0211は、入力(0251、0252、0253)に対して処理を行い、出力(0261、0262、0263)を返す。ここで、組込みノード0202では、ソフトウェア更新、ハードウェア更改またはメンテナンスや異常発生時の回復作業等のために停止していた状態から再起動すると(0241)、稼働中ノード0201は該組込みノード0202のデータ一致化を行うため、データ0222に対してデータ0212の書き込みを行う(0231)。組込みノード0202は、データ一致化完了を検出すると(0242)、稼働中ノード0201におけるユーザプログラム0211と実行状態を一致化させて、ユーザプログラム0221の処理を再開する(0243)。以降は、稼働中ノード0201におけるユーザプログラム0211と同様に、入力(0253)に対して処理を行い、出力(0272、0273)を返す。ここで組込みノードの処理が正常に実行されれば、出力0272、0273はそれぞれ稼働中ノード0201の出力0262、0263と合致するはずである。
As a sequence of processing related to the resynchronization operation of the embedded
図3は、本発明の一実施形態における、フォールトトレラントコンピュータシステム0101を構成し、外部からの要求に対する処理等を実行するノード0111のモジュール構成を示す図である。
FIG. 3 is a diagram showing a module configuration of the
ノード0111には、外部システム0103からの要求に対する処理を実行し応答を返すユーザプログラム0302と、該ユーザプログラムが処理中に読み込み、書き込みを行う共有メモリやファイル等のデータ0303と、通信媒体0304(図1のLAN0112に相当する。)を介して他のノード0111やゲートウェイサーバ0113等との通信、ノードの再同期稼働化のためのデータ一致化、ユーザプログラムの処理タイミングの一致化等の処理を行うミドルウェア0301とが導入される。
The
ミドルウェア0301は、組込みノードの再同期稼働化の実行時に、入力駆動型ユーザプログラム管理テーブル0321及び入力管理テーブル0323を参照・更新し、入力をトリガーとして処理を実施するユーザプログラムの起動又は実行状態の監視等を行う入力駆動管理部0311、周期駆動型ユーザプログラム管理テーブル0322を参照・更新し、周期的に処理を実施するユーザプログラムの起動又は実行状態の監視等を行う周期駆動管理部0312、データ一致化のために稼働中ノード0201のデータの組込みノード0202への書き込み等の処理を行うデータ同期処理部0313、データ通信部0315を介して外部システム0103から送信された入力メッセージもしくは稼働中ノード0201から転送された入力メッセージを、入力受信バッファ0331もしくは転送受信バッファ0332に格納し、入力管理テーブル0323を格納メッセージに応じて更新する受信データ管理部0314、及び、通信媒体0304を介して他のノード0111やゲートウェイサーバ0113等との間の通信を行うデータ通信部0315を主な構成要素として含む。
The
ここで、組込みノードの再同期稼働化の実行時に、データの書き込みによる稼働中ノード0201と組込みノード0202とのデータ一致化を行う場合、稼働中ノード0201におけるデータ同期処理部0313は、書き込み用のデータを稼働中ノード0201内のデータ0303から抜き出し、データ通信部0315を用いて組込みノード0202に対して送信する。組込みノード0202におけるデータ同期処理部0313は、稼働中ノード0201から送信される書き込み用データを、データ通信部0315を用いて受信し、組込みノード0202内のデータ0303に対して上書きを許して書き込む。
Here, when performing data matching between the
入力受信バッファ0331には、ゲートウェイサーバ0113から送信されデータ通信部0315により受信した入力メッセージ0132を、ユーザプログラム0302が該入力メッセージ0132を処理対象として使用する時まで格納しておく。転送受信バッファ0332には、組込みノード0202の再同期稼働化の実行時に、稼働中ノード0201より転送されデータ通信部0315により受信した入力メッセージを、ユーザプログラム0302が該入力メッセージを処理対象として使用する時まで格納しておく。また入力駆動型ユーザプログラム管理テーブル0321、周期駆動型ユーザプログラム管理テーブル0322、及び、入力管理テーブル0323の概略は図7に示す。
The
図4は、本発明の一実施形態による、フォールトトレラントコンピュータシステム0101を対象として実施する、計算機間の再同期稼働化のための処理タイミング一致化方法の概要を示す図である。
FIG. 4 is a diagram showing an outline of a process timing matching method for resynchronization operation between computers, which is performed for the fault
ここでは、組込みノードの再同期稼働化を行う際に、組込みノード0202において稼働するユーザプログラムを、稼働中ノード0201にて稼働するユーザプログラムと処理タイミングを一致化させるための処理の流れの概要を示す。
Here, an outline of the processing flow for matching the processing timing of the user program operating on the embedded
稼働中ノード0201ではユーザプログラム0211は、入力メッセージもしくはタイマイベント等を処理開始のトリガー(0401、0402、0403)として、処理(0411、0412、0413)を実施し、処理の過程でデータ0212に対して読み込み、書き込みを行う。ここで、ユーザプログラム0211に対して処理開始のトリガー(0401、0402、0403)が発生し、処理(0411、0412、0413)が実施される度に、各処理(0411、0412、0413)が開始されるタイミングで、該稼働中ノード0201より組込みノード0202に対して、処理開始通知(0421、0422、0423)が送信される。
In the
組込みノード0202では、稼働中ノード0201から組込みノード0202へのデータコピーによる該ノード間のデータ一致化が完了したことを、稼働中ノード0201から組込みノード0202に対して送信されるデータ一致化用データ送信完了通知0431を受信することで判定する。ここで稼働中ノード0201から送信される処理開始通知を受信し、該通知を参照することで、組込みノード0202におけるユーザプログラム0221の次の実行タイミングを事前に算出しておく。この方式の詳細は図5、6にて述べる。ただし、次の実行タイミングでユーザプログラム0221の処理を実際に開始するのは、該タイミングに達した時点でデータ一致化が完了している場合のみである。図4に示す例では、処理開始通知0421を参照して算出した次の実行タイミング0404は、データ一致化用データ送信完了通知0431を受信しデータ一致化完了を判定した後なので、次の実行タイミング0404にて、ユーザプログラム0221の処理0414を開始する。
In embedded
これにより、組込みノード0202にて稼働中ノード0201とタイミングを合わせてユーザプログラム0221の処理を開始した後も、稼働中ノード0201からの処理開始通知0423を受信し比較参照することで、稼働中ノード0201における処理0413の開始タイミング0403と組込みノード0202における処理0415の処理開始タイミング0405とのずれを計測し、ずれが大きい場合は該ずれを補正することで、稼働中ノード0201におけるユーザプログラム0211と組込みノード0202におけるユーザプログラム0221との処理タイミングが再びずれることを回避する。
As a result, even after the embedded
このようにして、組込みノード0202の再起動後、稼働中ノード0201に合わせることで処理タイミングの一致化を図り(0441)、処理タイミングの一致化後は、一度ノード間で一致化した処理タイミングの同期を維持していく(0442)。
In this way, after the embedded
次に、計算機(ノード0111)間の再同期稼働化のための処理タイミング一致化方法に関して、特に入力をトリガーとして処理を実施するユーザプログラムを対象とする場合の概要を図5に、周期的に処理を実施するユーザプログラムを対象とする場合の概要を図6に示す。 Next, regarding the processing timing matching method for resynchronization operation between computers (node 0111), an outline in the case of targeting a user program that performs processing with an input as a trigger is shown in FIG. FIG. 6 shows an outline in the case of targeting a user program that performs processing.
図5は、本発明の一実施形態による、フォールトトレラントコンピュータシステム0101を対象として実施する、計算機間の再同期稼働化のための処理タイミング一致化方法について、入力をトリガーとして処理を実施するユーザプログラムを対象として実施する場合の概要を示す図である。
FIG. 5 shows a user program for performing processing using an input as a trigger for a processing timing matching method for resynchronization operation between computers, which is performed for a fault
稼働中ノード0201では、受信バッファ0501(図3の入力受信バッファ0331に相当する。)を介して渡された外部システム0103からの入力メッセージ0511(通番#10、#11、#12、#13)(図1の入力メッセージ0132に対応する。)をトリガーとして、ユーザプログラムの各々の処理(0521、0522、0523、0524)が実施される。また各処理(0521、0522、0523、0524)が実行開始されるタイミングで、稼働中ノード0201から組込みノード0202に対して、処理開始の通知及び該処理のトリガーとなる入力メッセージ0511の転送を行う(0541、0542、0543)。
In the
組込みノード0202では、稼働中ノード0201からの処理開始通知及び入力メッセージの転送を受信する度に(0551、0552、0553)、自ノードの直接受信したメッセージを格納する受信バッファ0502(図3の入力受信バッファ0331に相当する。)を参照し、稼働中ノード0201より転送された入力メッセージと通番が一致する入力メッセージが格納されているか否かを判定する。この時点でデータ一致化が完了していれば(図5ではデータ書き込み処理0561によりデータ一致化用データの送信が完了済みになるとデータ一致化用データ送信完了通知0562が通知される。)、通番が一致する入力メッセージが格納されていない場合(図5では入力メッセージ転送0541、0542)は、稼働中ノード0201より転送された入力メッセージを用いてユーザプログラムの処理を行う(処理0531、0532)。また稼働中ノード0201より転送された入力メッセージと通番が一致する入力メッセージが格納されている場合(図5では入力メッセージ転送0543)は、受信バッファ0502に格納されている、組込みノード0202が直接受信した入力メッセージ0512を用いてユーザプログラムの処理を行う(処理0533)。またこの時組込みノード0202より稼働中ノード0201に対して転送停止要求0544を送信し、稼働中ノード0201からの入力メッセージの転送を停止する。転送の停止後は、受信バッファ0502に格納されている、組込みノード0202が直接受信した入力メッセージを用いて、ユーザプログラムの処理を行う(処理0534)。
Each time the embedded
なお、この組込みノード0202が稼働中ノード0201からの処理開始通知及び入力メッセージの転送を受信した時点で、まだデータ一致化が完了していない場合は、ユーザプログラムの処理は行わず、次の稼働中ノード0201からの処理開始通知及び入力メッセージの転送を受信するまで待機する。
When the embedded
図6は、本発明の一実施形態による、フォールトトレラントコンピュータシステム0101を対象として実施する、計算機間の再同期稼働化のための処理タイミング一致化方法について、周期的に処理を実施するユーザプログラムを対象として実施する場合の概要を示す図である。
FIG. 6 shows a user program for periodically executing a process timing matching method for resynchronization operation between computers, which is executed for a fault
稼働中ノード0201では、周期的に発生するタイマイベント(0601、0602、0603)に対して、周期毎のユーザプログラムの処理(0611、0612、0613)がそれぞれ実施される。また各処理(0611、0612、0613)が実行開始されるタイミングで、稼働中ノード0201から組込みノード0202に対して、処理開始の通知(0631、0632、0633)を送信する。
In the
組込みノード0202では、稼働中ノード0201からの処理開始通知(#11)0631を受信すると、該通知に含まれる周期時間等の情報を参照して、該通知の受信時点から次周期(#12)が開始されるまでの時間を算出する(0661)。この間も稼働中ノード0201と組込みノード0202との間のデータ一致化のための稼働中ノード0201から組込みノード0202へのデータ書き込みは並行して実施される(0641)。
When the embedded
そして、算出した次周期(#12)開始までの時間が経過した時点までに、稼働中ノード0201よりデータ一致化用データ送信完了通知0651を受信済みである場合、ユーザプログラムの処理を開始する(処理(#12)0622)。稼働中ノード0201よりデータ一致化用データ送信完了通知0651をまだ受信していない場合、ユーザプログラムの処理は行わず、次周期(#13)が開始されるまでの時間を再度算出し、該算出した時間が経過するまで待機する。
If the data matching completion data
組込みノード0202にてユーザプログラムの処理再開後は、稼働中ノード0201からの処理開始通知(図6では通知(#13)0633)を受信する度に、組込みノード0202における該当する処理(図6では処理(#13)0623)の開始タイミングとの差異を比較する。タイミングのずれを検出する度に補正の処理を実施する。
After the processing of the user program is resumed by the embedded
図7は、本発明の一実施形態における、フォールトトレラントコンピュータシステム0101を構成し、外部からの要求に対する処理等を実行するノード0111において管理される管理テーブルの構成を示す図である。図7(A)は、入力をトリガーとして処理を実施するユーザプログラムの実行状態を管理する入力駆動型ユーザプログラム管理テーブル0321を示す図である。図7(B)は、ノードが受信した外部からの入力メッセージを管理する入力管理テーブル0323を示す図である。図7(C)は、周期的に処理を実施するユーザプログラムの実行状態を管理する周期駆動型ユーザプログラム管理テーブル0322を示す図である。
FIG. 7 is a diagram illustrating a configuration of a management table that is configured in the fault
図7(A)に示すように、入力駆動型ユーザプログラム管理テーブル0321は、処理対象0711、ステータス0712、メッセージ受信元0713、及び、更新時刻0714を主な構成要素として備える。
As shown in FIG. 7A, the input-driven user program management table 0321 includes a
処理対象0711には、入力をトリガーとして処理を実施するユーザプログラムの処理対象となる最新の入力メッセージに関する情報が格納され、該メッセージに付与された通番が格納される通番0741と、該メッセージの受信時刻が格納される受信時刻0742とを含んで構成される。ステータス0712には、処理対象0711に格納される内容に対応する最新の入力メッセージに対して実行されるユーザプログラムの実行状態が格納される。ここに格納されるステータス値として、“待機中”、“処理中”、“処理終了”等がある。メッセージ受信元0713には、処理対象0711に格納される内容に対応する最新の入力メッセージを直接受信した受信元ノードの情報が格納される。ここに格納されるのは、“稼働中ノード”、“組込みノード”のいずれかである。更新時刻0714には、本テーブルの各行の最新の更新時刻が格納される。上記の入力駆動型ユーザプログラム管理テーブル0321の各項目は、組込みノードにて入力メッセージを受信する度に、また該メッセージに対して処理が実行される度に更新される。
The
図7(B)に示すように、入力管理テーブル0323は、ノード0721、通番0722、及び、受信時刻0723を主な構成要素として備える。
As shown in FIG. 7B, the input management table 0323 includes a
ノード0721には、入力メッセージを直接受信するノードの情報が格納される。ここに格納されるのは、“稼働中ノード”、“組込みノード”の2つである。通番0722には、稼働中ノードまたは組込みノードが受信する入力メッセージに付与された通番が格納される。受信時刻0723には、稼働中ノードまたは組込みノードが受信した入力メッセージの受信時刻が格納される。上記の入力管理テーブル0323の各項目は、組込みノードが稼働中ノードから転送された入力メッセージを受信する度に、また組込みノードにて入力メッセージが直接受信される度に更新される。
図7(C)に示すように、周期駆動型ユーザプログラム管理テーブル0322は、ユーザプログラム名称0731、周期カウンタ0732、周期間隔0733、待機時間0734、及び、ステータス0735を主な構成要素として備える。
As shown in FIG. 7C, the periodic drive type user program management table 0322 includes a
ユーザプログラム名称0731には、周期的に処理を実施するユーザプログラムの名称が格納される。周期カウンタ0732には、ユーザプログラム名称0731に格納される名称に対応するユーザプログラムに関してタイマイベント発生の度に加算し付与される連番である周期カウンタが格納される。周期間隔0733には、ユーザプログラム名称0731に格納される名称に対応するユーザプログラムに関して処理実施のためのタイマイベントが発生する時間間隔が格納される。待機時間0734には、ユーザプログラム名称0731に格納される名称に対応するユーザプログラムに関して処理終了後、次周期開始までの待機時間が格納される。ステータス0735には、ユーザプログラム名称0731に格納される名称に対応するユーザプログラムの実行状態が格納される。ここに格納されるステータス値として、“待機中”、“処理中”、“処理終了”等がある。上記の周期駆動型ユーザプログラム管理テーブル0322の各項目は、組込みノードにてタイマイベントが発生する度に、また該タイマイベントに対して処理が実行、終了する度に更新される。
The
図8は、本発明の一実施形態における、フォールトトレラントコンピュータシステム0101において、ソフトウェア更新、ハードウェア更改または障害回復、メンテナンス等のために停止させていたノードの再同期稼働化の実施時において、稼働中ノードと組込みノードとの間で処理タイミングの一致化を行う際の、稼働中ノードにおける処理の流れを示すフローチャートである。
FIG. 8 shows the operation of the fault-
ここで、図8(A)は、入力をトリガーとして処理を実施するユーザプログラムを対象として、稼働中ノード0201と組込みノード0202との間で処理タイミングの一致化を行う際の、稼働中ノード0201における処理の流れを示すフローチャートである。図8(B)は、周期的に処理を実施するユーザプログラムを対象として、稼働中ノード0201と組込みノード0202との間で処理タイミングの一致化を行う際の、稼働中ノード0201における処理の流れを示すフローチャートである。
Here, FIG. 8A shows the
図8(A)に示すように、入力をトリガーとして処理を実施する場合、まず、組込みノード0202の再起動を検出する(0811)。この検出処理は、例えば、稼働中ノード0201が組込みノード0202の再起動を直接検出するマスターとなるノードより組込みノード再起動の通知を受ける、もしくは、組込みノード0202からの問い合わせを受け付ける、等の処理による。次に、外部システムからの入力メッセージを受信し(0812)、組込みノード0202に対して該入力メッセージに対する処理開始の通知と該入力メッセージデータの転送を行う(0813)。そして、該入力メッセージを自ノード(稼働中ノード0201)におけるユーザプログラムに引き渡し(0814)、該入力メッセージに対するユーザプログラムによる処理が実行される(0815)。その後、組込みノード0202からの転送停止要求通知を受信したか否かを判断し(0816)、組込みノード0202からの転送停止要求通知を受信していない場合(0816;NO)、ステップ0812から0815までの処理を繰り返す。ステップ0816において、組込みノードからの転送停止要求通知を受信した場合(0816;YES)、終了する。
As shown in FIG. 8A, when the process is performed using an input as a trigger, first, the restart of the embedded
また、図8(B)に示すように、周期的に処理を実施する場合、まず、稼働中ノード0201におけるタイマイベントの発生を検出する(0821)。ここで、タイマイベントは、指定された周期や時刻をノードに搭載されたOSのタイマ等を用いることで監視され、指定された周期に達した時点もしくは指定された時刻にて発生するイベントである。次に、組込みノード0202に対して周期処理開始の通知を送信する(0822)。そして、本周期における自ノード(稼動中ノード0201)におけるユーザプログラムの処理が実行される(0823)。以後、ステップ0821から0823までの処理を繰り返す。
Further, as shown in FIG. 8B, when processing is periodically performed, first, occurrence of a timer event in the
図9は、本発明の一実施形態における、フォールトトレラントコンピュータシステム0101において、ソフトウェア更新、ハードウェア更改または障害回復、メンテナンス等のために停止させていたノードの再同期稼働化の実施時において、入力をトリガーとして処理を実施するユーザプログラムを対象として、稼働中ノード0201と組込みノード0202との間で処理タイミングの一致化を行う際の、組込みノード0202における処理の流れを示すフローチャートである。
FIG. 9 is a diagram showing an example of input when the resynchronization operation of a node that has been stopped for software update, hardware update or failure recovery, maintenance, etc. in the fault
まず、稼働中ノード0201からの処理開始通知及び転送された入力メッセージを受信する(0901)。次に、ステップ0901にて受信した転送メッセージを参照して、組込みノード0202にて管理される入力管理テーブル0323の稼働中ノードの項目を更新する(0902)。その後、稼働中ノード0201からデータ一致化用データ送信完了通知を受信済みか否かを判断し(0903)、データ一致化用データ送信完了通知を受信済みではない場合(0903;NO)、処理を終了する。一方、ステップ0903において、稼働中ノード0201からのデータ一致化用データ送信完了通知を受信済みである場合(0903;YES)、組込みノード0202にて管理される入力管理テーブル0323の稼働中ノードの項目及び自ノード(組込みノード)に関する項目を参照し(0904)、その結果、稼働中ノード0201からの転送メッセージの通番が、組込みノード0202にて直接受信され、受信バッファ0502に蓄積されているメッセージのうちの最も古いメッセージの通番よりも小さい場合(0905;YES)、ステップ0901にて受信した稼働中ノード0201からの転送メッセージを自ノード(組込みノード0202)のユーザプログラムに引き渡す(0906)。そして、ステップ0906にて引き渡されたメッセージに対してユーザプログラムが実行される(0907)。以降は、ステップ0901から0907までの処理を繰り返す。一方、ステップ0905において、稼働中ノード0201からの転送メッセージの通番が、組込みノード0202にて直接受信され、受信バッファ0502に蓄積されているメッセージのうちのいずれかのメッセージの通番と同じである場合(0905;NO)、組込みノード0202にて直接受信され、受信バッファ0502に蓄積されているメッセージのうち該当する通番のものを自ノード(組込みノード0202)のユーザプログラムに引き渡す(0908)。そして、ステップ0908にて引き渡されたメッセージに対してユーザプログラムが実行され(0909)、稼働中ノード0201に対してメッセージ転送の停止要求通知0544を送信して(0910)、終了する。
First, a process start notification and a transferred input message are received from the active node 0201 (0901). Next, with reference to the transfer message received in
図10は、本発明の一実施形態における、フォールトトレラントコンピュータシステムにおいて、ソフトウェア更新、ハードウェア更改または障害回復、メンテナンス等のために停止させていたノードの再同期稼働化の実施時において、周期的に処理を実施するユーザプログラムを対象として、稼働中ノード0201と組込みノード0202との間で処理タイミングの一致化を行う際の、組込みノード0202における処理の流れを示すフローチャートである。
FIG. 10 is a schematic diagram of a fault-tolerant computer system according to an embodiment of the present invention when a node that has been stopped for software update, hardware update or failure recovery, maintenance, etc. is re-synchronized. 10 is a flowchart showing the flow of processing in the embedded
まず、稼働中ノード0201からの処理開始通知を受信する(1001)。次に、ステップ1001にて受信した処理開始通知に含まれる周期に関する情報を参照して、該通知を受信した時点から次周期開始までの時間を算出する(1002)。ここで、次周期開始までの時間は、ステップ1002にて受信した稼働中ノード0201からの処理開始通知に含まれる周期に関する情報の1つである周期間隔から、稼働中ノード0201と組込みノード0202の間の通信時間を減算することで算出する。その後、周期駆動型ユーザプログラム管理テーブル0322の該当するユーザプログラムに関する周期カウンタ、周期間隔、待機時間の項目を更新し(1003)、ステップ1002の結果を基にして、次周期開始までの残り時間を計測する(1004)。そして、稼働中ノード0201においてデータ更新が発生した場合、該データ更新による差分のデータの組込みノード0202への書き込みが行われる(1005)。このとき、ステップ1004の結果、次周期開始までの時間が経過していない場合(1006;NO)、ステップ1004及び1005の処理を繰り返す。また、ステップ1006において、ステップ1004の結果、次周期開始までの時間が経過した場合(1006;YES)、稼働中ノード0201からデータ一致化用データ送信完了通知を受信済みか否かを判断し(1007)、データ一致化用データ送信完了通知を受信済みではない場合(1007;NO)、ステップ1001から1006までの処理を繰り返す。一方、ステップ1007において、稼働中ノード0201からのデータ一致化用データ送信完了通知を受信済みである場合(1007;YES)、自ノード(組込みノード0202)におけるユーザプログラムの処理を開始させる(1008)。そして、周期駆動型ユーザプログラム管理テーブル0322の、ステップ1008にて処理開始したユーザプログラムに関する周期カウンタ、周期間隔、待機時間、ステータスの項目を更新する(1009)。それから、稼働中ノード0201からの処理開始通知を受信する(1010)。該通知は、ステップ1001にて受信した処理開始通知の次に稼働中ノード0201から送信された通知であり、ステップ1008にて開始したユーザプログラムの周期処理に該当すべきものである。その後、ステップ1008にて開始したユーザプログラムの周期処理の周期カウンタの値と、ステップ1010にて受信した稼働中ノード0201からの処理開始通知に含まれる周期カウンタの値とを比較して(1011)、これらが合致する場合(1011;YES)、処理を終了する。一方、ステップ1011において、ステップ1008にて開始したユーザプログラムの周期処理の周期カウンタの値と、ステップ1010にて受信した稼働中ノード0201からの処理開始通知に含まれる周期カウンタの値とが合致しない場合(1011;NO)、ステップ1008にて処理開始したユーザプログラムを強制終了し、組込みノード0202内のデータ等を、ステップ1008にてユーザプログラムが処理開始する以前の状態に戻し(1012)、その後、ステップ1002から1011までの処理を繰り返す。
First, a process start notification is received from the active node 0201 (1001). Next, with reference to the information about the period included in the process start notification received in
図11は、本発明の一実施形態における、フォールトトレラントコンピュータシステム0101において、ソフトウェア更新、ハードウェア更改または障害回復、メンテナンス等のために停止させていたノードの再同期稼働化の実施後、周期的に処理を実施するユーザプログラムを対象として、稼働中ノード0201と組込みノード0202との間で一致化させた処理タイミングを維持するための、組込みノード0202における処理の流れを示すフローチャートである。
FIG. 11 is a block diagram of a fault-
まず、稼働中ノード0201からの処理開始通知を受信する(1101)。次に、ステップ1101にて受信した通知から抽出した周期カウンタを参照する(1102)。そして、ステップ1102にて参照した周期カウンタに該当する周期の処理が組込みノード0202で開始済みでないか否かを判断し(1103)、開始済みである場合(1103;NO)、ステップ1101からの処理に戻る。一方、ステップ1103において、ステップ1102にて参照した周期カウンタに該当する周期の処理が組込みノード0202では未開始である場合(1103;YES)、この周期カウンタに該当する周期の処理が開始されるまで待機する(1104)。周期カウンタに該当する周期の処理が開始されると(1104;YES)、該周期の開始までの遅延時間を算出する(1105)。ここで、遅延時間は、ステップ1101にて稼働中ノード0201からの処理開始通知を受信した時点から、ステップ1104にて該当周期の処理が開始された時点までの差分時間と、稼働中ノード0201と組込みノード0202の間の通信時間との和として算出する。そして、該周期の処理の終了後、ステップ1105にて算出した遅延時間に基づいて、該周期の処理終了時点から次周期開始までの待機時間の補正を行う(1106)。ここで待機時間の補正は、元々の待機時間(当該ユーザプログラムの周期間隔から該周期における実際の処理時間を減算することで算出)からステップ1105で算出した遅延時間を減算することに行う。
First, a process start notification is received from the active node 0201 (1101). Next, the period counter extracted from the notification received in
図12は、本発明の一実施形態における、フォールトトレラントコンピュータシステムを構成するノードのうち、稼働中ノード0201と組込みノードの間で、組込みノードの再同期稼働化の実施時において、処理タイミングの一致化を行うために送受信されるメッセージの形式を示す図である。
FIG. 12 shows that the processing timing coincides between the
図12(A)は、稼働中ノード0201から組込みノード0202へと送信されるもので、入力をトリガーとして処理を実施するユーザプログラムに関して、処理開始の通知及びユーザプログラムの処理開始のトリガーとなる入力メッセージデータを含めるメッセージの形式1201を示す。
FIG. 12 (A) is transmitted from the
このメッセージ形式1201は、ヘッダ情報1211、識別情報1212、通番1213、受信時刻1214、ステータス1215、及び、入力データ1216を主な構成要素として備える。
This
ヘッダ情報1211には、メッセージプロトコル等に関する情報が格納される。識別情報1212には、このメッセージが稼働中ノード0201からの、入力をトリガーとして処理を実施するユーザプログラムに関する処理開始通知であることを示す識別情報が格納される。通番1213には、稼働中ノード0201が直接受信し、組込みノード0202に対して転送する入力メッセージに付与されている通番が格納される。受信時刻1214には、稼働中ノード0201が該入力メッセージを直接受信した時刻が格納される。ステータス1215には、稼働中ノード0201における該入力メッセージに対する処理の実行状態が格納される。本通知は稼働中ノード0201にてユーザプログラムによる処理を開始する時点で送信されることから、該ステータス1215には通常は“実行中”を示す値が格納される。入力データ1216には、稼働中ノード0201が直接受信し、組込みノード0202に対して転送する入力メッセージのデータ本体が格納される。
The
図12(B)は、稼働中ノード0201から組込みノード0202へと送信されるもので、周期的に処理を実施するユーザプログラムに関して、処理開始の通知のメッセージの形式1202を示す。
FIG. 12B shows a
このメッセージ形式1202は、ヘッダ情報1221、識別情報1222、UP名称1223、周期カウンタ1224、及び、周期間隔1225を主な構成要素として備える。
This
ヘッダ情報1221には、メッセージプロトコル等に関する情報が格納される。識別情報1222には、このメッセージが稼働中ノード0201からの、周期的に処理を実施するユーザプログラムに関する処理開始通知であることを示す識別情報が格納される。UP名称1223には、該当する周期的に処理を実施するユーザプログラムの名称が格納される。周期カウンタ1224には、UP名称1223に格納される名称に該当するユーザプログラムのタイマイベント発生の度に加算し付与される連番である周期カウンタが格納される。周期間隔1225には、UP名称1223に格納される名称に該当するユーザプログラムの処理実施のためのタイマイベントが発生する時間間隔が格納される。
The
図12(C)は、稼働中ノード0201から組込みノード0202へと送信される、データ一致化用データ送信完了通知、もしくは組込みノード0202から稼働中ノード0201へと送信される、転送停止要求通知のメッセージの形式1203を示す。
FIG. 12C shows a data matching completion data transmission notification sent from the
このメッセージ形式1203は、ヘッダ情報1231及び識別情報1232を主な構成要素として備える。
This
ヘッダ情報1231には、メッセージプロトコル等に関する情報が格納される。識別情報1232には、このメッセージが稼働中ノード0201からのデータ一致化完了通知もしくは転送停止要求通知であることを示す識別情報が格納される。
The
以上、本発明の実施の形態について、その実施の形態に基づき具体的に説明したが、これに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。このため、上記実施形態はあらゆる点で単なる例示にすぎず、限定的に解釈されるものではない。例えば、上述の各処理ステップは処理内容に矛盾を生じない範囲で任意に順番を変更して又は並列に実行することが可能である。 As mentioned above, although embodiment of this invention was described concretely based on the embodiment, it is not limited to this and can be variously changed in the range which does not deviate from the summary. For this reason, the said embodiment is only a mere illustration in all points, and is not interpreted limitedly. For example, the above-mentioned processing steps can be executed in any order or in parallel as long as the processing contents do not contradict each other.
0101 フォールトトレラントコンピュータシステム
0102 広域ネットワーク
0103 外部システム
0111 ノード
(0201 稼働中ノード)
(0202 組込みノード)
0112,0304 ネットワーク(LAN,通信媒体)
0113 ゲートウェイサーバ
0121 処理装置
0122 記憶装置
0123 通信装置
0211,0221,0302 ユーザプログラム
0212,0222,0303 データ
0301 ミドルウェア
0311 入力駆動管理部
0312 周期駆動管理部
0313 データ同期処理部
0314 受信データ管理部
0315 データ通信部
0321 入力駆動型ユーザプログラム管理テーブル
0322 周期駆動型ユーザプログラム管理テーブル
0323 入力管理テーブル
0331 入力受信バッファ
0332 転送受信バッファ
0421,0422,0423 処理開始通知
(0541,0542,0543 入力メッセージの転送)
(0631,0632,0633 周期的処理の処理開始通知)
0431,0562,0651 データ一致化用データ送信完了通知
0544 転送停止要求通知
0101 Fault
(0202 embedded node)
0112, 0304 Network (LAN, communication medium)
0131
(0631, 0632, 0633 Periodic processing start notification)
0431, 0562, 0651 Data matching completion
Claims (14)
前記各ノードは、
システム内の稼働中のノード(以下「稼働中ノード」という。)は無停止かつ処理を継続させた状態で、停止状態から再起動したノード(以下「組込みノード」という。)を稼働中ノードとの間で処理タイミングを合わせてシステムへ再度組込む、という再同期稼働化処理を行う駆動管理部と、
稼働中ノードと組込みノードとの間で、データ内容を含むノードの状態を一致させるデータ一致化処理を行うデータ同期処理部とを備え、
前記駆動管理部は、
ノードが稼働中ノードである場合には、ユーザプログラムの処理を実行開始する度に、組込みノードに対して処理開始の通知を行い、
ノードが組込みノードである場合には、稼働中ノードから組込みノードへのデータ一致化用データ送信完了通知を当該稼働中ノードから受信し、かつ、当該完了通知を受信した後に当該組込みノードが当該稼働中ノードから処理開始通知を受信したとき、当該組込みノードが稼働中ノードから受信した処理開始通知を参照して、ユーザプログラムの処理を開始する
ことを特徴とするフォールトトレラントコンピュータシステム。 A fault tolerant computer system comprising a plurality of nodes connected to each other via a network, wherein the same processing is independently executed in parallel in each node of the plurality of nodes,
Each of the nodes
An active node in the system (hereinafter referred to as “active node”) is in a state where processing is continued without stopping, and a node restarted from a stopped state (hereinafter referred to as “built-in node”) is defined as an active node. A drive management unit that performs resynchronization operation processing that is re-integrated into the system in accordance with the processing timing between,
A data synchronization processing unit that performs data matching processing for matching the state of the node including the data contents between the operating node and the embedded node,
The drive management unit
If the node is an active node, it will notify the embedded node of the process start every time it starts executing the user program process.
If the node is a built-in node, a data transmission completion notification for data matching from the working node to the built-in node is received from the working node, and after receiving the completion notice, the built-in node A fault tolerant computer system characterized in that, when a processing start notification is received from a middle node, the processing of the user program is started with reference to the processing start notification received from the active node by the embedded node.
稼働中ノードから受信したユーザプログラムの処理開始通知を参照することで当該ユーザプログラムの次の実行タイミングを算出し、
当該稼働中ノードから当該組込みノードへのデータ一致化用データ送信完了通知を当該稼働中ノードから受信したとき、当該完了通知後の前記次の実行タイミングで当該ユーザプログラムの処理を開始する
ことを特徴とする請求項1に記載のフォールトトレラントコンピュータシステム。 If the node is a built-in node,
Calculate the next execution timing of the user program by referring to the processing start notification of the user program received from the active node,
When the data matching completion data transmission notification from the operating node to the embedded node is received from the operating node, the processing of the user program is started at the next execution timing after the completion notification. The fault tolerant computer system according to claim 1.
入力をトリガーとして処理を実施するユーザプログラムに関して、前記再同期稼働化処理を行う入力駆動管理部を含み、
前記入力駆動管理部は、
ノードが稼働中ノードである場合には、当該ノードにおいて入力を受信し、ユーザプログラムの処理を開始する度に、組込みノードに対して処理開始の通知及び前記入力の転送を行い、
ノードが組込みノードである場合には、稼働中ノードから転送された前記入力、又は、当該組込みノードにて直接受信した入力を用いて、ユーザプログラムの処理を実施する
ことを特徴とする請求項1又は2に記載のフォールトトレラントコンピュータシステム。 The drive management unit
For a user program that performs processing with an input as a trigger, including an input drive management unit that performs the resynchronization activation processing,
The input drive manager is
When a node is an active node, each time it receives input at the node and starts processing of the user program, it notifies the embedded node of the start of processing and transfers the input,
When the node is an embedded node, the processing of the user program is performed using the input transferred from the active node or the input directly received by the embedded node. Or the fault tolerant computer system according to 2;
ノードが組込みノードである場合、当該組込みノードが稼働中ノードからの処理開始通知及び転送された入力を受信した時点又は稼働中ノードから転送された前記入力に対応する入力を直接受信した時点で、前記データ同期処理部による稼働中ノードと組込みノードの間でのデータ一致化処理が完了していない場合には、ユーザプログラムの処理を行わず、次の処理開始タイミングまで待機する
ことを特徴とする請求項3に記載のフォールトトレラントコンピュータシステム。 The input drive manager is
When the node is a built-in node, when the built-in node receives a process start notification from the active node and the transferred input or when the input corresponding to the input transferred from the active node is directly received, When the data matching processing between the active node and the embedded node by the data synchronization processing unit is not completed, the processing of the user program is not performed and the process waits for the next processing start timing. The fault tolerant computer system according to claim 3.
ノードが組込みノードである場合、稼働中ノードから受信した前記入力に対応する入力を当該組込みノードにて直接受信しているか否かを判定し、直接受信していないと判定した場合には、稼働中ノードから転送された前記入力を用いてユーザプログラムの処理を実施する
ことを特徴とする請求項3又は4に記載のフォールトトレラントコンピュータシステム。 The input drive manager is
When the node is a built-in node, it is determined whether or not the input corresponding to the input received from the active node is directly received by the built-in node. The fault tolerant computer system according to claim 3 or 4, wherein a user program is processed using the input transferred from a middle node.
ことを特徴とする請求項3乃至5のいずれか一項に記載のフォールトトレラントコンピュータシステム。 When the node is a built-in node, it is determined whether or not the input corresponding to the input received from the active node is directly received by the built-in node. 6. The user program is requested to stop transfer of input to the middle node, and the processing of the user program is executed using the input directly received by the embedded node. The fault tolerant computer system as described in any one of Claims.
前記ネットワークに接続され、かつ、前記ネットワークとは別のネットワークを介して外部システムに接続されるゲートウェイを備え、
前記ゲートウェイは、
外部システムから受け取った入力を前記複数のノードに転送し、前記入力に対する処理を前記複数のノードが並行して同時に実行した処理結果を受信して比較演算し、比較演算の結果として得られた出力を前記外部システムに応答として返す
ことを特徴とする請求項1乃至6のいずれか一項に記載のフォールトトレラントコンピュータシステム。 The fault tolerant computer system is:
A gateway connected to the network and connected to an external system via a network different from the network;
The gateway is
The input received from the external system is transferred to the plurality of nodes, the processing result of the plurality of nodes simultaneously executed in parallel is received and compared, and the output obtained as a result of the comparison operation The fault-tolerant computer system according to any one of claims 1 to 6, wherein a fault response is returned to the external system as a response.
周期的に処理を実施するユーザプログラムに関して、前記再同期稼働化処理を行う周期駆動管理部を含み、
前記周期駆動管理部は、
ノードが稼働中ノードである場合には、タイマイベントが発生してユーザプログラムの処理を開始する度に、組込みノードに対して処理開始通知の送信を行い、
ノードが組込みノードである場合には、稼働中ノードから受信した処理開始通知を参照して、当該組込みノードにてユーザプログラムの現時点から次の周期における処理開始タイミングを算出し、算出した次の周期の処理開始タイミングに達した際に、稼働中ノードと組込みノードとの間でのデータ一致化処理が完了している場合、組込みノードにてユーザプログラムの処理を開始する
ことを特徴とする請求項1乃至7のいずれか一項に記載のフォールトトレラントコンピュータシステム。 The drive management unit
For a user program that periodically performs processing, including a periodic drive management unit that performs the resynchronization activation processing,
The periodic drive management unit includes:
When the node is an active node, every time a timer event occurs and user program processing is started, a processing start notification is sent to the embedded node,
If the node is a built-in node, refer to the process start notification received from the active node, calculate the process start timing in the next cycle from the current time of the user program at the built-in node, and calculate the next cycle The processing of the user program is started in the embedded node when the data matching processing between the active node and the embedded node is completed when the processing start timing of the above is reached. The fault tolerant computer system according to any one of 1 to 7.
前記ノードが組込みノードである場合、前記再同期稼働化処理におけるユーザプログラムの処理開始後に、稼働中ノードと当該組込みノードとの処理開始タイミングの差異を計測し、該差異が所定値より大きい場合は、当該組込みノードにおける処理タイミングを補正することによって、処理開始タイミングの同期を維持する
ことを特徴とする請求項8に記載のフォールトトレラントコンピュータシステム。 The periodic drive management unit includes:
If the node is a built-in node, measure the difference in processing start timing between the active node and the built-in node after starting the user program process in the resynchronization activation process, and if the difference is greater than a predetermined value The fault tolerant computer system according to claim 8, wherein the processing start timing is synchronized by correcting the processing timing in the embedded node.
ノードが組込みノードである場合、稼働中ノードから受信した処理開始通知を参照して算出した次の周期の処理開始タイミングに達した時点で、前記データ同期処理部による稼働中ノードと組込みノードの間でのデータ一致化処理が完了していない場合には、ユーザプログラムの処理を行わず、次の周期の処理開始タイミングまで待機する
ことを特徴とする請求項8又は9に記載のフォールトトレラントコンピュータシステム。 The periodic drive management unit includes:
When the node is an embedded node, when the processing start timing of the next cycle calculated by referring to the process start notification received from the operating node is reached, the data synchronization processing unit determines whether the node is in operation 10. The fault tolerant computer system according to claim 8, wherein when the data matching process is not completed, the user program process is not performed and the process waits until the process start timing of the next cycle. .
ノードが組込みノードである場合、稼働中ノードから受信した処理開始通知を参照し、該通知に含まれる周期情報及び該通知の伝送時間を用いて、当該組込みノードにおけるユーザプログラムの次の周期における処理開始タイミングを算出する
ことを特徴とする請求項8乃至10のいずれか一項に記載のフォールトトレラントコンピュータシステム。 The periodic drive management unit includes:
When the node is an embedded node, the process start notification received from the active node is referred to, and the period information included in the notification and the transmission time of the notification are used to perform processing in the next period of the user program in the embedded node. The fault-tolerant computer system according to any one of claims 8 to 10, wherein a start timing is calculated.
稼働中ノードが、ユーザプログラムの処理を実行開始する度に、組込みノードに対して処理開始の通知を行うステップと、
組込みノードが、稼働中ノードから組込みノードへのデータ一致化用データ送信完了通知を当該稼働中ノードから受信し、かつ、当該完了通知を受信した後に当該組込みノードが当該稼働中ノードから処理開始通知を受信したとき、稼働中ノードから受信した処理開始通知を参照して、ユーザプログラムの処理を開始するステップと
を備えるフォールトトレラントコンピュータシステムの再同期稼働化処理方法。 2. Description of the Related Art In a fault tolerant computer system comprising a plurality of nodes connected to each other via a network and executing the same processing independently in parallel in each node of the plurality of nodes, an active node (hereinafter referred to as “active node”) in the system )) Without stopping and continuing the process, re-install the node restarted from the stopped state (hereinafter referred to as “embedded node”) into the system at the same processing timing as the operating node. It is a method for performing the resynchronization operation processing,
A step of notifying the embedded node of the start of processing each time the operating node starts executing the processing of the user program;
The embedded node receives a data matching completion notification for data matching from the active node to the embedded node from the active node, and the embedded node receives a process start notification from the active node after receiving the completion notification. And a step of starting processing of the user program with reference to the processing start notification received from the active node when receiving the process.
前記各ノードは、
システム内へ組込むべきノード(以下「組込みノード」という。)をシステム内の稼働中のノード(以下「稼働中ノード」という。)との間で処理タイミングを合わせてシステム内へ組込む駆動管理部と、
稼働中ノードと組込みノードとの間で、データ内容を含むノードの状態を対応させるデータ同期処理部とを備え、
前記駆動管理部は、
自ノードが稼働中ノードである場合には、自ノードの処理を実行開始する度に、組込みノードに対して処理開始の通知を行い、
自ノードが組込みノードである場合には、稼働中ノードから組込みノードへのデータ一致化用データ送信完了通知を当該稼働中ノードから受信し、かつ、当該完了通知を受信した後に当該組込みノードが当該稼働中ノードから処理開始通知を受信したとき、当該組込みノードが稼働中ノードから受信した処理開始通知を参照して、自ノードの処理を開始する
ことを特徴とするフォールトトレラントコンピュータシステム。 A fault tolerant computer system comprising a plurality of nodes connected to each other via a network and executing the same processing in each node of the plurality of nodes,
Each of the nodes
A drive management unit that incorporates a node to be incorporated into the system (hereinafter referred to as an “embedded node”) into the system at the same processing timing as a node operating in the system (hereinafter referred to as an “active node”); ,
A data synchronization processing unit that associates the state of the node including the data contents between the operating node and the embedded node,
The drive management unit
When the own node is an active node, every time the process of the own node is started, the process start is notified to the embedded node.
If the own node is a built-in node, it receives a data matching completion notification from the working node to the built-in node from the working node, and after receiving the completion notice, the built-in node A fault tolerant computer system characterized in that, when a process start notification is received from an operating node, the embedded node refers to the process start notification received from the operating node and starts processing of the own node.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007318695A JP5153310B2 (en) | 2007-12-10 | 2007-12-10 | Fault tolerant computer system, resynchronization operation processing method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007318695A JP5153310B2 (en) | 2007-12-10 | 2007-12-10 | Fault tolerant computer system, resynchronization operation processing method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009140424A JP2009140424A (en) | 2009-06-25 |
JP5153310B2 true JP5153310B2 (en) | 2013-02-27 |
Family
ID=40870933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007318695A Expired - Fee Related JP5153310B2 (en) | 2007-12-10 | 2007-12-10 | Fault tolerant computer system, resynchronization operation processing method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5153310B2 (en) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58125103A (en) * | 1982-01-20 | 1983-07-26 | Hitachi Ltd | Recovering method of multi system arithmetic processing and synchronizing system |
JPH1173278A (en) * | 1997-08-29 | 1999-03-16 | Nec Corp | Slave built-in time shortening method for duplex computer system |
JP4154853B2 (en) * | 2000-11-13 | 2008-09-24 | 富士電機機器制御株式会社 | A redundant programmable controller and an equalization method for equalizing control data. |
JP2003296133A (en) * | 2002-04-05 | 2003-10-17 | Fuji Electric Co Ltd | Controller |
JP3774826B2 (en) * | 2002-07-11 | 2006-05-17 | 日本電気株式会社 | Information processing device |
JP4161276B2 (en) * | 2004-12-17 | 2008-10-08 | 日本電気株式会社 | Fault-tolerant computer device and synchronization method thereof |
-
2007
- 2007-12-10 JP JP2007318695A patent/JP5153310B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009140424A (en) | 2009-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7793060B2 (en) | System method and circuit for differential mirroring of data | |
JP5094460B2 (en) | Computer system, data matching method, and data matching processing program | |
TWI625621B (en) | Method, computer usable program product, and data processing system for recovery in a database | |
US7694177B2 (en) | Method and system for resynchronizing data between a primary and mirror data storage system | |
JP6084624B2 (en) | Split brain tolerant failover in high availability clusters | |
US7865763B2 (en) | Data replication method | |
US20180150501A1 (en) | Database system, server device, computer program product, and information processing method | |
US20060143497A1 (en) | System, method and circuit for mirroring data | |
WO2014059804A1 (en) | Method and system for data synchronization | |
WO2013189289A1 (en) | Data processing method, network card and system | |
US7797571B2 (en) | System, method and circuit for mirroring data | |
JP2012173996A (en) | Cluster system, cluster management method and cluster management program | |
WO2012167583A1 (en) | System and method for providing reliable storage | |
JP2010033467A (en) | Information management system | |
JP4560074B2 (en) | Virtual computer system and virtual computer restoration method in the same system | |
US20130110782A1 (en) | Oportunistic database duplex operations | |
JP5153310B2 (en) | Fault tolerant computer system, resynchronization operation processing method, and program | |
JP6056408B2 (en) | Fault tolerant system | |
US9026849B2 (en) | System and method for providing reliable storage | |
JP5509272B2 (en) | Computer system, data matching method, and data matching processing program | |
JP6511737B2 (en) | Redundant system, redundant method and redundant program | |
JP4874211B2 (en) | Computer system, synchronous operation method, node, and program | |
JP5449471B2 (en) | Method for synchronous processing of update processing for shared data, data sharing system, and data sharing program | |
JP6511738B2 (en) | Redundant system, redundant method and redundant program | |
JP2004272884A (en) | Data synchronization system after remote copy suspension in multiple remote storage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20090401 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100217 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120203 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120321 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120518 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20120525 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120716 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120814 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121012 |
|
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: 20121106 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121204 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151214 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5153310 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |