Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4773715B2 - How to get checkpoint - Google Patents
[go: Go Back, main page]

JP4773715B2 - How to get checkpoint - Google Patents

How to get checkpoint Download PDF

Info

Publication number
JP4773715B2
JP4773715B2 JP2004348418A JP2004348418A JP4773715B2 JP 4773715 B2 JP4773715 B2 JP 4773715B2 JP 2004348418 A JP2004348418 A JP 2004348418A JP 2004348418 A JP2004348418 A JP 2004348418A JP 4773715 B2 JP4773715 B2 JP 4773715B2
Authority
JP
Japan
Prior art keywords
checkpoint
barrier synchronization
processes
flag
request
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
Application number
JP2004348418A
Other languages
Japanese (ja)
Other versions
JP2006155473A (en
Inventor
直樹 末安
良浩 内藤
英夫 矢田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2004348418A priority Critical patent/JP4773715B2/en
Publication of JP2006155473A publication Critical patent/JP2006155473A/en
Application granted granted Critical
Publication of JP4773715B2 publication Critical patent/JP4773715B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Retry When Errors Occur (AREA)

Description

本発明は、情報処理装置によるチェックポイント取得方法に関する。 The present invention relates to a checkpoint acquisition method by an information processing apparatus.

多数台のホスト計算機を用いて構築されたクラスタシステム上で実行される並列プログラムは、実行中に、一部のホスト計算機のハードウェア資源が故障しただけで、停止し、それまでの計算結果等は無駄になる。   A parallel program executed on a cluster system constructed using a large number of host computers stops during execution, even if some of the host computer hardware resources fail. Is wasted.

このような事故が発生した場合の復旧を容易にし、事故が発生するまでの計算結果を無駄にしないため、チェックポイント/リスタート機能が考案されており、多くのクラスタシステム上に組み込まれている。   A checkpoint / restart function has been devised and incorporated in many cluster systems in order to facilitate recovery in the event of such an accident and not to waste calculation results until the accident occurs. .

ここで、チェックポイント/リスタート機能とは、プログラムの実行中の任意の時点での実行状態をホスト計算機のローカルディスク上等に退避させておき、プログラムを実行しているホスト計算機が不意に故障等した場合等にプログラムを最初から実行しなおすことなく、退避させておいた情報から、プログラムの状態を復元し、実行を再開させる機能のことである。なお、従来は、以下に示す方法で、チェックポイントを採取していた。   Here, the checkpoint / restart function means that the execution status at any point during the execution of the program is saved on the local disk of the host computer, and the host computer executing the program unexpectedly fails. In this case, the function restores the state of the program from the saved information without restarting the program from the beginning and restarts the execution. Conventionally, checkpoints are collected by the following method.

初めに、一定時間毎のタイマ機能、又はオペレータ等からの指示により、実行中の各プロセスにチェックポイントの採取要求が届けられる。   First, a checkpoint collection request is sent to each process being executed by a timer function at regular intervals or an instruction from an operator or the like.

次に、チェックポイントの採取要求を受け取ったプロセスは、それまでの実行を一時中断し、チックポイント採取処理を呼び出す。   Next, the process that has received the checkpoint collection request suspends execution so far and calls the tickpoint collection process.

次に、チェックポイント採取処理は、プロセスの実行状態(例えば、メモリイメージや、使用中の資源のディスクリプタ等)を、ホスト計算機のローカルディスク上に書き出す。   Next, in the checkpoint collection process, the execution state of the process (for example, the memory image, the descriptor of the resource being used, etc.) is written on the local disk of the host computer.

次に、チェックポイント採取処理が終了すると、プロセスは一時中断していた実行を再開する。
特開平11−45229号公報
Next, when the checkpoint collection process ends, the process resumes execution that was temporarily suspended.
Japanese Patent Laid-Open No. 11-45229

しかしながら、上述したような処理では、並列プログラムの状態に関係なく、チェックポイントの採取処理が割り込まれるため、プロセスがチェックポイント採取処理を正常に呼び出すことができない状態であった場合、例えばプロセスがスレッドを持っていた場合等、チェックポイントが採取できない問題があった。   However, in the processing as described above, the checkpoint collection processing is interrupted regardless of the state of the parallel program. Therefore, if the process cannot call the checkpoint collection processing normally, for example, the process is a thread. There was a problem that checkpoints could not be collected.

また、並列プログラムの各プロセスにチェックポイントの採取要求が届くタイミングにはバラつきがあるため、タイミングによっては、記録しておいた実行状態を復元し、記録しておいて箇所から並列プログラムの実行を再開(リスタート)した際に、デッドロックが発生するような状態で、チェックポイントを採取してしまう問題があった。   Also, since the timing at which the checkpoint collection request arrives at each process of the parallel program varies, depending on the timing, the recorded execution state is restored, and the parallel program is executed from the recorded location. When restarting (restarting), there was a problem of collecting checkpoints in a state where a deadlock occurred.

図1は、従来の問題点を示す図である。図1に示されるように、例えばホスト計算機1で動作しているプロセス1には、バリア同期の後でチェックポイントの採取要求が届き、チェックポイントを採取しており、ホスト計算機2で動作しているプロセス2には、バリア同期の前でチェックポイントの採取要求が届き、チェックポイントを採取している。このような場合では、記録しておいた実行状態を復元し、記録しておいて箇所から並列プログラムの実行を再開(リスタート)した際に、デッドロックが発生する可能性が高い。   FIG. 1 is a diagram illustrating a conventional problem. As shown in FIG. 1, for example, the process 1 running on the host computer 1 receives a checkpoint collection request after barrier synchronization, collects the checkpoint, and operates on the host computer 2. The process 2 that has received the checkpoint collection request before barrier synchronization has collected the checkpoint. In such a case, there is a high possibility that a deadlock will occur when the recorded execution state is restored and the execution of the parallel program is restarted (restarted) from the recorded position.

本発明は、上記の点に鑑みなされたもので、デッドロック等の不都合が発生しないタイミングを捉えて安全にチェックポイントを採取することを目的とする。   The present invention has been made in view of the above points, and an object of the present invention is to safely collect checkpoints by capturing timing at which inconvenience such as deadlock does not occur.

また、本発明は、各プロセスがスレッドを有する並列プログラムにおいても、チェックポイントの採取を可能とすることを目的とする。   Another object of the present invention is to enable checkpoint collection even in a parallel program in which each process has a thread.

そこで、上記課題を解決するため、本発明は、チェックポイントの取得要求を検出すると、並列プログラムとして動作する子プロセスは親プロセスが動作する情報処理装置にフラグをセットし、前記チェックポイントの取得要求とは独立して行われるバリア同期確立が検出されると、前記親プロセスが動作する情報処理装置においてバリア同期確立対象の全てのプロセスについてフラグがセットされているか否かの判定を行い、前記判定が肯定的な判定結果を示す場合に、今回のバリア同期確立がなされた全てのプロセスについてチェックポイントの取得を行わせ、前記判定が否定的な判定結果を示す場合に、次回のバリア同期確立の際にバリア同期確立対象の全てのプロセスについてフラグがセットされていると判定されると、該次回のバリア同期確立がなされた全てのプロセスについてチェックポイントの取得を行わせる、処理を情報処理装置に実行させることを特徴とする。 Therefore, in order to solve the above-described problem, the present invention detects a checkpoint acquisition request, a child process operating as a parallel program sets a flag in an information processing apparatus in which a parent process operates, and the checkpoint acquisition request When establishment of barrier synchronization that is performed independently of the process is detected, it is determined whether or not a flag is set for all processes that are targets of establishment of barrier synchronization in the information processing apparatus in which the parent process operates. Indicates a positive determination result, checkpoint acquisition is performed for all processes for which the current barrier synchronization is established, and when the determination indicates a negative determination result, the next barrier synchronization establishment is performed. If it is determined that the flag is set for all processes for which barrier synchronization is to be established, A synchronization establishment to perform acquisition of checkpoint for all processes that have been made, characterized in that to perform the processing to the information processing apparatus.

本発明によれば、チェックポイントの取得要求を検出すると、並列プログラムとして動作する子プロセスは親プロセスが動作する情報処理装置にフラグをセットし、前記チェックポイントの取得要求とは独立して行われるバリア同期確立が検出されると、前記親プロセスが動作する情報処理装置においてバリア同期確立対象の全てのプロセスについてフラグがセットされているか否かの判定を行い、前記判定が肯定的な判定結果を示す場合に、今回のバリア同期確立がなされた全てのプロセスについてチェックポイントの取得を行わせ、前記判定が否定的な判定結果を示す場合に、次回のバリア同期確立の際にバリア同期確立対象の全てのプロセスについてフラグがセットされていると判定されると、該次回のバリア同期確立がなされた全てのプロセスについてチェックポイントの取得を行わせる、処理を情報処理装置に実行させることにより、デッドロック等の不都合が発生しないタイミングを捉えて安全にチェックポイントを採取することができる。 According to the present invention, when a checkpoint acquisition request is detected, a child process operating as a parallel program sets a flag in the information processing apparatus in which the parent process operates, and is performed independently of the checkpoint acquisition request. When the establishment of barrier synchronization is detected, the information processing apparatus in which the parent process operates determines whether or not a flag is set for all processes targeted for establishment of barrier synchronization, and the determination is positive. If all the processes that have been established for barrier synchronization this time are checked, checkpoint acquisition is performed. When it is determined that the flag is set for all processes, all the next establishment of barrier synchronization is performed. Process to perform acquisition of checkpoint for, by executing the processing to the information processing apparatus can be collected safely checkpoint captures timing disadvantage of deadlock and the like does not occur.

本発明によれば、デッドロック等の不都合が発生しないタイミングを捉えて安全にチェックポイントを採取することができる。   According to the present invention, it is possible to safely collect checkpoints by capturing a timing at which inconvenience such as deadlock does not occur.

また、本発明によれば、各プロセスがスレッドを有する並列プログラムにおいても、チェックポイントの採取を可能とすることができる。   Furthermore, according to the present invention, it is possible to collect checkpoints even in a parallel program in which each process has a thread.

以下、本発明の実施の形態について図面に基づいて説明する。図2は、クラスタシステムの一例を示す図である。図2に示されるように、本発明に係るクラスタシステムは、並列プログラムを実行する複数のホスト計算機1と、管理ホスト2と、がネットワークを介して接続されている。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 2 is a diagram illustrating an example of a cluster system. As shown in FIG. 2, in the cluster system according to the present invention, a plurality of host computers 1 that execute parallel programs and a management host 2 are connected via a network.

以下、ホスト計算機1の一例のハードウェア構成を、図3に示す。図3は、ホスト計算機の一例のハードウェア構成図である。   A hardware configuration of an example of the host computer 1 is shown in FIG. FIG. 3 is a hardware configuration diagram of an example of a host computer.

図3に示されるホスト計算機1のハードウェア構成は、それぞれバスで相互に接続されているドライブ装置13と、ROM(Read Only Memory)15と、RAM(Random Access Memory)16と、CPU(Central Processing Unit)17と、インターフェース装置18と、HDD(Hard Disk Drive)19と、から構成されている。   The hardware configuration of the host computer 1 shown in FIG. 3 includes a drive device 13, a ROM (Read Only Memory) 15, a RAM (Random Access Memory) 16, and a CPU (Central Processing) that are mutually connected by a bus. (Unit) 17, interface device 18, and HDD (Hard Disk Drive) 19.

インターフェース装置18は、ホスト計算機1をネットワーク等に接続するインターフェースである。   The interface device 18 is an interface for connecting the host computer 1 to a network or the like.

ホスト計算機1のプログラム(以下、単に並列計算プログラムという)は、例えば、管理ホスト2からネットワーク経由でHDD19上にファイル転送される。又は、並列計算プログラムをCD−ROM等の記録媒体14によってホスト計算機1に提供するか、ネットワークを通じてダウンロードするようにしても良い。記録媒体14は、ドライブ装置13にセットされ、並列計算プログラムが記録媒体14からドライブ装置13を介してHDD19にインストールされる。   A program of the host computer 1 (hereinafter simply referred to as a parallel computer program) is transferred from the management host 2 to the HDD 19 via the network, for example. Alternatively, the parallel computer program may be provided to the host computer 1 by the recording medium 14 such as a CD-ROM or downloaded through a network. The recording medium 14 is set in the drive device 13, and the parallel calculation program is installed from the recording medium 14 to the HDD 19 via the drive device 13.

ROM15は、データ等を格納する。RAM16は、例えばホスト計算機1の起動時等にHDD19から並列計算プログラム等を読み出して格納する。CPU17は、RAM16に読み出され格納された並列計算プログラム等に従って処理を実行する。   The ROM 15 stores data and the like. The RAM 16 reads and stores a parallel calculation program or the like from the HDD 19 when the host computer 1 is started, for example. The CPU 17 executes processing according to a parallel calculation program or the like read and stored in the RAM 16.

以下、ホスト計算機1の一例の機能構成を、図4に示す。図4は、ホスト計算機の一例の機能構成図である。   The functional configuration of an example of the host computer 1 is shown in FIG. FIG. 4 is a functional configuration diagram of an example of the host computer.

図4に示されるように、ホスト計算機1は、OS(Operating System)20と、PCクラスタシステムソフトウェア30と、言語ライブラリ50と、言語オブジェクト60と、を含む。また、OS20は、スレッドライブラリ21を含み、PCクラスタシステムソフトウェア30は、チェックポイント採取処理部30を含み、該チェックポイント採取処理部30は、シグナルハンドラ41と、フラグ域42と、チェックポイント採取手続き部43と、を含む。また、言語ライブラリ50は、バリア同期処理部51と、スレッド手続き部52と、を含む。   As shown in FIG. 4, the host computer 1 includes an OS (Operating System) 20, PC cluster system software 30, a language library 50, and a language object 60. The OS 20 includes a thread library 21, and the PC cluster system software 30 includes a checkpoint collection processing unit 30. The checkpoint collection processing unit 30 includes a signal handler 41, a flag area 42, and a checkpoint collection procedure. Part 43. The language library 50 includes a barrier synchronization processing unit 51 and a thread procedure unit 52.

ここで、シグナルハンドラ41は、PCクラスタシステムソフトウェア30の初期化等において、自身をOS20に登録し、RAM16等のフラグ域42に、フラグを確保し、初期化する。また、シグナルハンドラ41は、管理ホスト2等を介して、オペレータからのチェックポイントの採取要求を受け取るか、又は、OS20からのインターバルタイム割り込みによるチェックポイントの採取要求を受け取ると、フラグにON(オン)をセットする。   Here, the signal handler 41 registers itself with the OS 20 in the initialization of the PC cluster system software 30 and the like, and secures and initializes a flag in the flag area 42 of the RAM 16 or the like. Further, when the signal handler 41 receives a checkpoint collection request from the operator via the management host 2 or the like, or receives a checkpoint collection request from the OS 20 due to an interval time interruption, the signal handler 41 turns ON (ON). ) Is set.

チェックポイント採取手続き部43は、要求された時点でのプロセスの実行状態をホスト計算機1のHDD19上等に退避させる。   The checkpoint collection procedure unit 43 saves the execution state of the process at the requested time on the HDD 19 of the host computer 1 or the like.

バリア同期処理部51は、例えば他のホスト計算機1に含まれるプロセスとバリア同期を取ると共に、バリア同期を取った際、フラグ域42のフラグにONがセットされており、且つ同期を取るべき全ての他のプロセスが動作する各々のホスト計算機1のフラグ域42のフラグにもONがセットされていると判定すると、チェックポイント採取手続き部43に、チェックポイントの採取を要求する。   For example, the barrier synchronization processing unit 51 performs barrier synchronization with processes included in other host computers 1, and when the barrier synchronization is performed, the flag in the flag area 42 is set to ON, and all of the synchronization should be performed. If it is determined that the flag in the flag area 42 of each host computer 1 in which another process operates is also set to ON, the checkpoint collection procedure unit 43 is requested to collect the checkpoint.

ここで、チェックポイント採取処理を実行するタイミングの一例を、図5に示す。図5は、チェックポイント採取処理を実行するタイミングの一例を示す図である。   Here, an example of the timing for executing the checkpoint collection process is shown in FIG. FIG. 5 is a diagram illustrating an example of timing for executing the checkpoint collection process.

図5に示されるように、バリア同期処理部51は、他のプロセスとバリア同期が成立した際に、該他のプロセスの中の1つのプロセス(図5の例では、プロセス3)でもチェックポイント要求を受け取っていない、つまり該プロセスが実行されているホスト計算機1のフラグ域42のフラグにONがセットされていないと判定すると、チェックポイントの採取を要求せず、再び他のプロセスとバリア同期が成立した際に、各プロセスが、チェックポイント要求を受け取っているか否かを判定し、チェックポイント要求を受け取っている、つまり各プロセスが実行されているホスト計算機1のフラグ域42のフラグにONがセットされている、と判定すると、チェックポイント採取手続き部43に、チェックポイントの採取を要求する。   As shown in FIG. 5, when the barrier synchronization processing unit 51 establishes barrier synchronization with another process, the barrier synchronization processing unit 51 performs a checkpoint even in one of the other processes (process 3 in the example of FIG. 5). If it is determined that the request has not been received, that is, the flag in the flag area 42 of the host computer 1 on which the process is being executed is not set to ON, checkpoint collection is not requested and barrier synchronization with another process is performed again. Is established, each process determines whether or not a checkpoint request has been received, and the checkpoint request has been received, that is, the flag in the flag area 42 of the host computer 1 on which each process is being executed is ON. If it is determined that is set, checkpoint collection procedure unit 43 is requested to collect checkpoints.

また、図4に戻り、バリア同期処理部51は、プロセスが複数スレッドを有している場合、チェックポイントの採取を要求する前に、スレッド手続き部52に、メインスレッド以外のサブスレッドの停止を要求する。また、バリア同期処理部51は、チェックポイント採取手続き部43がチェックポイントの採取を行った後、スレッド手続き部52に、停止させたサブスレッドの再開を要求する。   Returning to FIG. 4, when the process has a plurality of threads, the barrier synchronization processing unit 51 instructs the thread procedure unit 52 to stop sub-threads other than the main thread before requesting the collection of a checkpoint. Request. The barrier synchronization processing unit 51 requests the thread procedure unit 52 to resume the stopped sub thread after the check point collection procedure unit 43 has collected the check points.

スレッド手続き部52は、例えば要求に応じて、スレッドライブラリ21に含まれるライブラリを呼び出す等の、スレッドに係る手続きを行う。   The thread procedure unit 52 performs a procedure related to a thread such as calling a library included in the thread library 21 in response to a request.

以下、シグナルハンドラ41におけるシグナルハンドラ登録処理の一例を、図6に示す。図6は、シグナルハンドラ登録処理の一例を示すフローチャートである。なお、シグナルハンドラ41は、PCクラスタシステムソフトウェアの初期化等において以下の処理を実行する。   An example of the signal handler registration process in the signal handler 41 is shown in FIG. FIG. 6 is a flowchart illustrating an example of the signal handler registration process. The signal handler 41 executes the following processing in initialization of the PC cluster system software.

ステップS10において、シグナルハンドラ41は、自身をOS20に登録する。ステップS10に続いてステップS11に進み、シグナルハンドラ41は、RAM16等のフラグ域42に、フラグを確保し、初期化する。   In step S <b> 10, the signal handler 41 registers itself with the OS 20. Progressing to step S11 following step S10, the signal handler 41 secures and initializes a flag in the flag area 42 of the RAM 16 or the like.

以下、シグナルハンドラ41におけるフラグ登録処理の一例を、図7に示す。図7は、フラグ登録処理の一例を示すフローチャートである。なお、シグナルハンドラ41は、管理ホスト2等を介して、オペレータからのチェックポイントの採取要求を受け取るか、又は、OS20からのインターバルタイム割り込みによるチェックポイントの採取要求を受け取ると、以下の処理を実行する。   An example of flag registration processing in the signal handler 41 is shown in FIG. FIG. 7 is a flowchart illustrating an example of the flag registration process. When the signal handler 41 receives a checkpoint collection request from the operator via the management host 2 or the like, or receives a checkpoint collection request by an interval time interrupt from the OS 20, the signal handler 41 executes the following processing. To do.

ステップS20において、シグナルハンドラ41は、フラグ域42のフラグにONをセットする。   In step S <b> 20, the signal handler 41 sets ON to the flag in the flag area 42.

以下、バリア同期処理部51等におけるバリア同期処理の一例を、図8に示す。図8は、バリア同期処理の一例を示すフローチャートである。なお、バリア同期処理部51は、言語オブジェクト60等からの同期処理要求に応じて、以下に示す処理を実行する。   Hereinafter, an example of the barrier synchronization processing in the barrier synchronization processing unit 51 and the like is shown in FIG. FIG. 8 is a flowchart illustrating an example of the barrier synchronization process. The barrier synchronization processing unit 51 executes the following processing in response to a synchronization processing request from the language object 60 or the like.

ステップS30において、バリア同期処理部51は、例えば他のホスト計算機1に含まれるプロセスとバリア同期を取る。ステップS30に続いてステップS31に進み、バリア同期処理部51は、同期したプロセス数が、同期すべき全プロセス数と同じか否かを判定する。バリア同期処理部51は、同期したプロセス数が、同期すべき全プロセス数と同じであると判定すると(ステップS31においてYES)、ステップS32に進み、同期したプロセス数が、同期すべき全プロセス数と同じでないと判定すると(ステップS31においてNO)、バリア同期処理を終了する。   In step S30, the barrier synchronization processing unit 51 performs barrier synchronization with, for example, processes included in other host computers 1. Progressing to step S31 following step S30, the barrier synchronization processing unit 51 determines whether or not the number of synchronized processes is the same as the number of all processes to be synchronized. If the barrier synchronization processing unit 51 determines that the number of synchronized processes is the same as the number of all processes to be synchronized (YES in step S31), the process proceeds to step S32, where the number of synchronized processes is the number of all processes to be synchronized. If it is determined that they are not the same (NO in step S31), the barrier synchronization process is terminated.

ステップS32では、バリア同期処理部51が、フラグ域42のフラグにONがセットされているか否かを判定する。バリア同期処理部51は、フラグ域42のフラグにONがセットされていると判定すると(ステップS32においてYES)、ステップS33に進み、フラグ域42のフラグにONがセットされていないと判定すると(ステップS32においてNO)、バリア同期処理を終了する。   In step S32, the barrier synchronization processing unit 51 determines whether or not the flag in the flag area 42 is set to ON. If the barrier synchronization processing unit 51 determines that the flag in the flag area 42 is set to ON (YES in step S32), the process proceeds to step S33 and determines that the flag in the flag area 42 is not set to ON ( In step S32, NO), the barrier synchronization processing is terminated.

ステップS33では、バリア同期処理部51が、当該バリア同期処理部51を呼び出した、又は実行中の当該バリア同期処理部51が含まれるプロセスは、親プロセスか否かを判定する。バリア同期処理部51は、当該バリア同期処理部51を呼び出した、又は実行中の当該バリア同期処理部51が含まれるプロセスは、親プロセスであると判定すると(ステップS33において親プロセス)、ステップS34に進み、当該バリア同期処理部51を呼び出した、又は実行中の当該バリア同期処理部51が含まれるプロセスは、子プロセスであると判定すると(ステップS33において子プロセス)、ステップS39に進む。   In step S33, the barrier synchronization processing unit 51 calls the barrier synchronization processing unit 51 or determines whether the process including the barrier synchronization processing unit 51 being executed is a parent process. If the barrier synchronization processing unit 51 determines that the process that includes the barrier synchronization processing unit 51 that has called or is executing the barrier synchronization processing unit 51 is a parent process (the parent process in step S33), the process proceeds to step S34. If it is determined that the process including the barrier synchronization processing unit 51 that has called or is executing the barrier synchronization processing unit 51 is a child process (child process in step S33), the process proceeds to step S39.

ステップS34では、バリア同期処理部51が、同期を取るべき全子プロセスからの、フラグにONがセットされていることを表すフラグ情報の書き込みを、一定時間待つ。ステップS34に続いてステップS35に進み、バリア同期処理部51は、同期を取るべき全子プロセスから、フラグ情報の書き込みがあったか否かを判定する。バリア同期処理部51は、同期を取るべき全子プロセスから、フラグ情報の書き込みがあったと判定すると(ステップS35においてYES)、ステップS37に進み、同期を取るべき全子プロセスから、フラグ情報の書き込みがなかったと判定すると(ステップS35においてNO)、ステップS36に進む。   In step S34, the barrier synchronization processing unit 51 waits for a certain period of time to write flag information indicating that the flag is set ON from all child processes to be synchronized. Progressing to step S35 following step S34, the barrier synchronization processing unit 51 determines whether flag information has been written from all the child processes to be synchronized. If the barrier synchronization processing unit 51 determines that flag information has been written from all child processes to be synchronized (YES in step S35), the process proceeds to step S37, and flag information is written from all child processes to be synchronized. If it is determined that there is no (NO in step S35), the process proceeds to step S36.

ステップS36では、バリア同期処理部51が、フラグ情報の書き込みがあった子プロセスに対して、チェックポイントの採取を許可しない旨を意味するチェックポイント要求拒否を返答する。一方、ステップS37では、バリア同期処理部51が、同期を取るべき全子プロセスに対して、チェックポイントの採取を許可する旨を意味するチェックポイント要求受領を返答する。   In step S36, the barrier synchronization processing unit 51 returns a checkpoint request refusal that means that checkpoint collection is not permitted to the child process for which flag information has been written. On the other hand, in step S37, the barrier synchronization processing unit 51 replies with a checkpoint request reception that means that checkpoint collection is permitted to all child processes to be synchronized.

ステップS37に続いてステップS38に進み、バリア同期処理部51は、チェックポイントの採取に係る処理を実行する。   Progressing to step S38 following step S37, the barrier synchronization processing unit 51 executes processing related to the collection of checkpoints.

一方、ステップS39では、バリア同期処理部51が、親プロセスへフラグ情報の書き込みを行う。ステップS39に続いてステップS40に進み、バリア同期処理部51は、フラグ情報の書き込みに係る、親プロセスからの返答(返事)を一定時間待つ。   On the other hand, in step S39, the barrier synchronization processing unit 51 writes flag information to the parent process. Progressing to step S40 following step S39, the barrier synchronization processing unit 51 waits for a predetermined time for a response (reply) from the parent process related to the writing of flag information.

ステップS40に続いてステップS41に進み、バリア同期処理部51は、返答を待つ処理がタイムアウトしたか否かを判定する。バリア同期処理部51は、返答を待つ処理がタイムアウトしたと判定すると(ステップS41においてYES)、バリア同期処理を終了し、返答を待つ処理がタイムアウトする前に親プロセスからの返答があったと判定すると(ステップS41においてNO)、ステップS42に進む。   Progressing to step S41 following step S40, the barrier synchronization processing unit 51 determines whether or not the process of waiting for a response has timed out. When the barrier synchronization processing unit 51 determines that the process of waiting for a response has timed out (YES in step S41), the barrier synchronization processing unit 51 ends the barrier synchronization process, and determines that there is a response from the parent process before the process of waiting for a response times out. (NO in step S41), the process proceeds to step S42.

ステップS42では、バリア同期処理部51が、親プロセスからの返答が、チェックポイント要求受領であるか否かを判定する。バリア同期処理部51は、親プロセスからの返答がチェックポイント要求受領であると判定すると(ステップS42においてYES)、ステップS43に進み、親プロセスからの返答がチェックポイント要求受領でないと判定すると(ステップS42においてNO)、バリア同期処理を終了する。   In step S42, the barrier synchronization processing unit 51 determines whether the response from the parent process is a checkpoint request receipt. When the barrier synchronization processing unit 51 determines that the response from the parent process is a checkpoint request reception (YES in step S42), the barrier synchronization processing unit 51 proceeds to step S43 and determines that the response from the parent process is not a checkpoint request reception (step S42). NO in S42), the barrier synchronization process is terminated.

ステップS43では、バリア同期処理部51が、チェックポイントの採取に係る処理を実行する。   In step S43, the barrier synchronization processing unit 51 executes processing related to checkpoint collection.

図6から図8に示したように、チェックポイントの採取要求が来たときにすぐチェックポイントを採取するのではなく、フラグをたてておいて、同期を取るべき他のプロセスと同期をとったときに、該同期を取るべき全ての他のプロセスが動作しているメモリにもフラグがたっているか否かを判定し、フラグがたっていたらチェックポイントを採取することにより、デッドロック等の不都合が発生しないタイミングを捉えて安全にチェックポイントを採取することができる。   As shown in FIG. 6 to FIG. 8, when a checkpoint collection request is received, a checkpoint is not collected immediately, but a flag is set to synchronize with other processes to be synchronized. It is determined whether or not the memory in which all other processes to be synchronized are running has a flag, and if the flag is raised, a checkpoint is taken to avoid inconvenience such as deadlock. It is possible to take checkpoints safely by capturing the timing that does not occur.

以下、バリア同期処理部51及びチェックポイント採取手続き部43等におけるチェックポイント採取処理の一例を、図9に示す。図9は、チェックポイント採取処理の一例を示すフローチャートである。なお、バリア同期処理部51は、図8のステップS38や、ステップS43において、以下に示す処理を実行する。   An example of checkpoint collection processing in the barrier synchronization processing unit 51 and the checkpoint collection procedure unit 43 is shown in FIG. FIG. 9 is a flowchart illustrating an example of the checkpoint collection process. The barrier synchronization processing unit 51 executes the following process in step S38 and step S43 in FIG.

ステップS50において、バリア同期処理部51は、例えばスレッド手続き部52等に対して、メインスレッド以外のサブスレッドの停止を要求する。ステップS50に続いてステップS51に進み、バリア同期処理部51及び/又はスレッド手続き部52は、サブスレッドの停止を待つ。   In step S50, the barrier synchronization processing unit 51 requests, for example, the thread procedure unit 52 and the like to stop sub threads other than the main thread. Progressing to step S51 following step S50, the barrier synchronization processing unit 51 and / or the thread procedure unit 52 wait for the sub thread to stop.

ステップS51に続いてステップS52に進み、バリア同期処理部51は、サブスレッドが停止すると、チェックポイント採取手続き部43に対して、チェックポイントの採取を要求し、チェックポイント採取手続き部43は、チェックポイント採取処理を実行する。   Progressing to step S52 following step S51, when the sub-thread is stopped, the barrier synchronization processing unit 51 requests the checkpoint collection procedure unit 43 to collect a checkpoint, and the checkpoint collection procedure unit 43 Execute point collection processing.

ステップS52に続いてステップS53に進み、バリア同期処理部51は、チェックポイント採取手続き部43よりチェックポイント採取処理が終了した旨の応答を受け取ると、例えばスレッド手続き部52等に対して、サブスレッドの再開を要求する。なお、バリア同期処理部51は、ステップS53において、サブスレッドを再開した後、フラグ域42のフラグにOFF(オフ)をセットするようにしてもよい。   Progressing to step S53 following step S52, when the barrier synchronization processing unit 51 receives a response from the checkpoint collection procedure unit 43 indicating that the checkpoint collection processing is completed, the barrier synchronization processing unit 51 sends a sub-thread to the thread procedure unit 52, for example. Request to resume. Note that the barrier synchronization processing unit 51 may set OFF in the flag in the flag area 42 after resuming the sub thread in step S53.

図9に示したように、メインスレッド以外のサブスレッドを停止させ、チェックポイントの採取処理を実行し、該実行が終了した後で、停止させたサブスレッドを再開させることにより、プロセスがスレッドを有する並列プログラムにおいても、チェックポイントの採取を可能とすることができる。   As shown in FIG. 9, the sub-thread other than the main thread is stopped, the checkpoint collection process is executed, and after the execution is completed, the stopped sub-thread is restarted so that the process Even in a parallel program, checkpoints can be collected.

上述したように、本発明によれば、デッドロック等の不都合が発生しないタイミングを捉えて安全にチェックポイントを採取することができる。また、本発明によれば、各プロセスがスレッドを有する並列プログラムにおいても、チェックポイントの採取を可能とすることができる。   As described above, according to the present invention, it is possible to safely collect checkpoints by capturing the timing at which inconvenience such as deadlock does not occur. Furthermore, according to the present invention, it is possible to collect checkpoints even in a parallel program in which each process has a thread.

以上、本発明の好ましい実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。   The preferred embodiments of the present invention have been described in detail above, but the present invention is not limited to such specific embodiments, and various modifications can be made within the scope of the gist of the present invention described in the claims.・ Change is possible.

なお、本発明は、以下に記載する付記のような構成が考えられる。
(付記1)
チェックポイントの採取要求に応じて、メモリに識別情報をセットする識別情報セット手段と、
当該情報処理装置又は当該情報処理装置とネットワークを介して接続された他の情報処理装置に含まれる他のプロセスと同期を取る同期実行手段と、
チェックポイントを採取するチェックポイント採取手段と、
を有し、
前記同期実行手段は、前記同期を取った際、前記メモリに識別情報がセットされており、且つ同期を取るべき全ての前記他のプロセスが動作する各々の情報処理装置のメモリにも識別情報がセットされていると判定すると、前記チェックポイント採取手段に、チェックポイントの採取を要求することを特徴とする情報処理装置。
(付記2)
前記同期実行手段は、プロセスが複数スレッドを有している場合、前記チェックポイント採取手段に、チェックポイントの採取を要求する前に、メインスレッド以外のサブスレッドに停止を要求することを特徴とする付記1記載の情報処理装置。
(付記3)
前記同期実行手段は、前記チェックポイント採取手段がチェックポイントを採取した後、前記サブスレッドに再開を要求することを特徴とする付記2記載の情報処理装置。
(付記4)
前記同期実行手段は、自身を呼び出したプロセスが親プロセスであった場合は、他の同期を取るべき全子プロセスからの識別情報に係る情報を一定時間待ち、前記全子プロセスから識別情報に係る情報を受け取った場合、全子プロセスに、チェックポイントの採取に係る許可情報を送り、自身と同じ装置内のチェックポイント採取手段に、チェックポイントの採取を要求することを特徴とする付記1乃至3何れか一項記載の情報処理装置。
(付記5)
前記同期実行手段は、自身を呼び出したプロセスが子プロセスであった場合は、親プロセスへ識別情報に係る情報を送り、親プロセスからの返答を一定時間待ち、親プロセスからチェックポイントの採取に係る許可情報を受け取ると、自身と同じ装置内のチェックポイント採取手段に、チェックポイントの採取を要求することを特徴とする付記1乃至4何れか一項記載の情報処理装置。
(付記6)
コンピュータを、
チェックポイントの採取要求に応じて、メモリに識別情報をセットする識別情報セット手段と、
当該情報処理装置又は当該情報処理装置とネットワークを介して接続された他の情報処理装置に含まれる他のプロセスと同期を取る同期実行手段と、
チェックポイントを採取するチェックポイント採取手段と、
して動作させ、
前記同期実行手段は、前記同期を取った際、前記メモリに識別情報がセットされており、且つ同期を取るべき全ての前記他のプロセスが動作する各々の情報処理装置のメモリにも識別情報がセットされていると判定すると、前記チェックポイント採取手段に、チェックポイントの採取を要求することを特徴とする情報処理プログラム。
(付記7)
コンピュータを、
チェックポイントの採取要求に応じて、メモリに識別情報をセットする識別情報セット手段と、
当該情報処理装置又は当該情報処理装置とネットワークを介して接続された他の情報処理装置に含まれる他のプロセスと同期を取る同期実行手段と、
チェックポイントを採取するチェックポイント採取手段と、
して動作させ、
前記同期実行手段は、前記同期を取った際、前記メモリに識別情報がセットされており、且つ同期を取るべき全ての前記他のプロセスが動作する各々の情報処理装置のメモリにも識別情報がセットされていると判定すると、前記チェックポイント採取手段に、チェックポイントの採取を要求することを特徴とする情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
(付記8)
情報処理装置におけるチェックポイント採取方法であって、該情報処理装置に、
チェックポイントの採取要求に応じて、メモリに識別情報をセットする識別情報セット段階と、
当該情報処理装置又は当該情報処理装置とネットワークを介して接続された他の情報処理装置に含まれる他のプロセスと同期を取る同期実行段階と、
前記同期実行段階後、前記メモリに識別情報がセットされており、且つ同期を取るべき全ての前記他のプロセスが動作する各々の情報処理装置のメモリにも識別情報がセットされていると判定すると、チェックポイントを採取するチェックポイント採取手段に、チェックポイントの採取を要求するチェックポイント採取要求段階と、
を実行させることを特徴とするチェックポイント採取方法。
In addition, the structure like the additional remarks described below can be considered for this invention.
(Appendix 1)
An identification information setting means for setting identification information in the memory in response to a checkpoint collection request;
Synchronization execution means for synchronizing with other processes included in the information processing apparatus or other information processing apparatus connected to the information processing apparatus via a network;
Checkpoint collection means for collecting checkpoints;
Have
The synchronization execution means has identification information set in the memory at the time of synchronization, and identification information is also stored in the memory of each information processing apparatus in which all the other processes to be synchronized operate. If it is determined that the check point is set, the information processing apparatus requests the check point collecting means to collect a check point.
(Appendix 2)
When the process has a plurality of threads, the synchronous execution unit requests the sub thread other than the main thread to stop before requesting the check point collection unit to collect the check point. The information processing apparatus according to attachment 1.
(Appendix 3)
The information processing apparatus according to claim 2, wherein the synchronization execution unit requests the sub thread to resume after the check point collection unit has collected the check point.
(Appendix 4)
If the process that called itself is a parent process, the synchronization execution means waits for a certain period of time on information related to identification information from all child processes to be synchronized, and relates to identification information from all the child processes. Appendices 1 to 3, wherein when the information is received, permission information related to the collection of checkpoints is sent to all child processes, and the checkpoint collection means in the same apparatus as itself is requested to collect the checkpoints. The information processing apparatus according to any one of claims.
(Appendix 5)
If the process that called itself is a child process, the synchronous execution means sends information related to the identification information to the parent process, waits for a reply from the parent process for a certain period of time, and collects checkpoints from the parent process. 5. The information processing apparatus according to any one of appendices 1 to 4, wherein when the permission information is received, the checkpoint collection unit in the same apparatus as itself is requested to collect the checkpoint.
(Appendix 6)
Computer
An identification information setting means for setting identification information in the memory in response to a checkpoint collection request;
Synchronization execution means for synchronizing with other processes included in the information processing apparatus or other information processing apparatus connected to the information processing apparatus via a network;
Checkpoint collection means for collecting checkpoints;
And operate
The synchronization execution means has identification information set in the memory at the time of synchronization, and identification information is also stored in the memory of each information processing apparatus in which all the other processes to be synchronized operate. An information processing program that requests the checkpoint collecting means to collect a checkpoint when it is determined that the checkpoint is set.
(Appendix 7)
Computer
An identification information setting means for setting identification information in the memory in response to a checkpoint collection request;
Synchronization execution means for synchronizing with other processes included in the information processing apparatus or other information processing apparatus connected to the information processing apparatus via a network;
Checkpoint collection means for collecting checkpoints;
And operate
The synchronization execution means has identification information set in the memory at the time of synchronization, and identification information is also stored in the memory of each information processing apparatus in which all the other processes to be synchronized operate. A computer-readable recording medium on which an information processing program is recorded, wherein when it is determined that a checkpoint is set, the checkpoint collection means is requested to collect a checkpoint.
(Appendix 8)
A checkpoint collection method in an information processing device, wherein the information processing device includes:
In response to a checkpoint collection request, an identification information setting stage for setting identification information in a memory;
A synchronization execution stage that synchronizes with other processes included in the information processing apparatus or another information processing apparatus connected to the information processing apparatus via a network;
When it is determined that the identification information is set in the memory after the synchronization execution stage and the identification information is also set in the memory of each information processing apparatus in which all the other processes to be synchronized operate. A checkpoint collection request stage for requesting checkpoint collection to the checkpoint collection means for collecting checkpoints;
A checkpoint collection method, characterized in that:

従来の問題点を示す図である。It is a figure which shows the conventional problem. クラスタシステムの一例を示す図である。It is a figure which shows an example of a cluster system. ホスト計算機の一例のハードウェア構成図である。It is a hardware block diagram of an example of a host computer. ホスト計算機の一例の機能構成図である。It is a functional block diagram of an example of a host computer. チェックポイント採取処理を実行するタイミングの一例を示す図である。It is a figure which shows an example of the timing which performs a checkpoint collection process. シグナルハンドラ登録処理の一例を示すフローチャートである。It is a flowchart which shows an example of a signal handler registration process. フラグ登録処理の一例を示すフローチャートである。It is a flowchart which shows an example of a flag registration process. バリア同期処理の一例を示すフローチャートである。It is a flowchart which shows an example of a barrier synchronous process. チェックポイント採取処理の一例を示すフローチャートである。It is a flowchart which shows an example of a checkpoint collection process.

符号の説明Explanation of symbols

1 ホスト計算機
2 管理ホスト
13 ドライブ装置
14 記録媒体
15 ROM
16 RAM
17 CPU
18 インターフェース装置
19 HDD
20 OS
21 スレッドライブラリ
30 PCクラスタシステムソフトウェア
40 チェックポイント採取処理部
41 シグナルハンドラ
42 フラグ域
43 チェックポイント採取手続き部
50 言語ライブラリ
51 バリア同期処理部
52 スレッド手続き部
60 言語オブジェクト
1 Host computer 2 Management host 13 Drive device 14 Recording medium 15 ROM
16 RAM
17 CPU
18 Interface device 19 HDD
20 OS
21 Thread Library 30 PC Cluster System Software 40 Checkpoint Collection Processing Unit 41 Signal Handler 42 Flag Area 43 Checkpoint Collection Procedure Unit 50 Language Library 51 Barrier Synchronization Processing Unit 52 Thread Procedure Unit 60 Language Object

Claims (3)

チェックポイントの取得要求を検出すると、並列プログラムとして動作する子プロセスは親プロセスが動作する情報処理装置にフラグをセットし、  When a checkpoint acquisition request is detected, a child process that operates as a parallel program sets a flag in the information processing device in which the parent process operates,
前記チェックポイントの取得要求とは独立して行われるバリア同期確立が検出されると、前記親プロセスが動作する情報処理装置においてバリア同期確立対象の全てのプロセスについてフラグがセットされているか否かの判定を行い、  When the establishment of barrier synchronization that is performed independently of the checkpoint acquisition request is detected, whether or not flags are set for all processes that are targets of establishment of barrier synchronization in the information processing apparatus in which the parent process operates Make a decision,
前記判定が肯定的な判定結果を示す場合に、今回のバリア同期確立がなされた全てのプロセスについてチェックポイントの取得を行わせ、前記判定が否定的な判定結果を示す場合に、次回のバリア同期確立の際にバリア同期確立対象の全てのプロセスについてフラグがセットされていると判定されると、該次回のバリア同期確立がなされた全てのプロセスについてチェックポイントの取得を行わせる、  If the determination shows a positive determination result, checkpoint acquisition is performed for all processes for which the current barrier synchronization has been established, and if the determination indicates a negative determination result, the next barrier synchronization When it is determined at the time of establishment that the flag is set for all the processes for which barrier synchronization establishment is to be performed, checkpoint acquisition is performed for all the processes for which the next barrier synchronization establishment is performed.
処理を情報処理装置に実行させることを特徴とするチェックポイント取得方法。  A checkpoint acquisition method characterized by causing an information processing apparatus to execute processing.
記プロセスが複数スレッドを有している場合、前記チェックポイントの取得を要求する前に、メインスレッド以外のサブスレッドに停止を要求することを特徴とする請求項1記載のチェックポイント取得方法。 If the previous SL process has multiple threads, the before requesting acquisition of checkpoint, the checkpoint acquisition method according to claim 1, wherein the request to stop the sub-thread other than the main thread. 記チェックポイントを取得した後、前記サブスレッドに再開を要求することを特徴とする請求項2記載のチェックポイント取得方法。 After obtaining the pre Symbol checkpoint, the checkpoint acquisition method according to claim 2, wherein the request to resume the sub thread.
JP2004348418A 2004-12-01 2004-12-01 How to get checkpoint Expired - Fee Related JP4773715B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004348418A JP4773715B2 (en) 2004-12-01 2004-12-01 How to get checkpoint

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004348418A JP4773715B2 (en) 2004-12-01 2004-12-01 How to get checkpoint

Publications (2)

Publication Number Publication Date
JP2006155473A JP2006155473A (en) 2006-06-15
JP4773715B2 true JP4773715B2 (en) 2011-09-14

Family

ID=36633657

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004348418A Expired - Fee Related JP4773715B2 (en) 2004-12-01 2004-12-01 How to get checkpoint

Country Status (1)

Country Link
JP (1) JP4773715B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5251002B2 (en) * 2007-05-25 2013-07-31 富士通株式会社 Distributed processing program, distributed processing method, distributed processing apparatus, and distributed processing system
JP5419166B2 (en) * 2010-07-22 2014-02-19 日本電信電話株式会社 Checkpoint creation device, checkpoint creation system, checkpoint creation method, and checkpoint creation program
JP6318031B2 (en) * 2014-07-08 2018-04-25 株式会社野村総合研究所 Batch server maintenance method
JP7192388B2 (en) 2018-10-22 2022-12-20 富士通株式会社 Parallel processing device, parallel operation execution program and backup method

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0433127A (en) * 1990-05-30 1992-02-04 Nec Corp Check point control system
JPH0922397A (en) * 1995-07-07 1997-01-21 Hitachi Ltd Parallel computer
JP2713218B2 (en) * 1995-03-27 1998-02-16 日本電気株式会社 Checkpoint / restart processing method
JP3258228B2 (en) * 1996-03-15 2002-02-18 株式会社東芝 Checkpoint generation method
JP3120033B2 (en) * 1996-03-19 2000-12-25 株式会社東芝 Distributed memory multiprocessor system and fault recovery method
JP3253883B2 (en) * 1997-01-31 2002-02-04 株式会社東芝 Process restart method and process monitoring device
JP2004046356A (en) * 2002-07-09 2004-02-12 Fujitsu Ltd Highly reliable cluster system and program for realizing it

Also Published As

Publication number Publication date
JP2006155473A (en) 2006-06-15

Similar Documents

Publication Publication Date Title
CN107491346B (en) Application task processing method, device and system
WO2017118334A1 (en) Log collection client and updating method therefor
EP2626786A1 (en) Multicore processor system, method of monitoring control, and monitoring control program
CN101236515B (en) Recovery method for single-core exception in multi-core system
US10379931B2 (en) Computer system
WO2016000298A1 (en) System exception capturing method, main system, shadow system and intelligent device
JP2010140290A (en) Multiprocessor system and arbitration method for exclusive control thereof
EP2816480A1 (en) Processor system
CN110895488A (en) Task scheduling method and device
WO2017188109A1 (en) Vehicle control device and vehicle system
CN103473135A (en) Processing method for spinlock LHP (Lock-Holder Preemption) phenomenon under virtual environment
CN110895483A (en) Task recovery method and device
CN110895485A (en) task scheduling system
JP2009080705A (en) Virtual computer system and virtual computer restoration method in the same system
JP4773715B2 (en) How to get checkpoint
JP5335552B2 (en) Information processing apparatus, control method therefor, and computer program
TW201828057A (en) Log collection client and upgrading method thereof capable of preventing collected data from loss during upgrading, and allowing an automatic rollback when the new program is abnormal
JP2009151440A (en) Program hang detection method and computer apparatus using the same
JP5557612B2 (en) Computer and transfer program
CN105487847B (en) A function release method and device
JP3122371B2 (en) Computer system
JP2006092055A (en) Computer system
JPH09212470A (en) Multiprocessor system
JP2005078123A (en) Failure detection apparatus, failure detection method and program thereof
JP2010044699A (en) Information processor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071004

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110404

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110531

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110624

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140701

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees