JP2007133604A - Computer system, operational state determination program and operational state determination method - Google Patents
Computer system, operational state determination program and operational state determination method Download PDFInfo
- Publication number
- JP2007133604A JP2007133604A JP2005325236A JP2005325236A JP2007133604A JP 2007133604 A JP2007133604 A JP 2007133604A JP 2005325236 A JP2005325236 A JP 2005325236A JP 2005325236 A JP2005325236 A JP 2005325236A JP 2007133604 A JP2007133604 A JP 2007133604A
- Authority
- JP
- Japan
- Prior art keywords
- function
- cause
- sleep state
- state
- computer system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
Description
この発明は、コンピュータシステム、コンピュータシステム上で動作するアプリケーションプログラムの動作状態を判定する動作状態判定プログラムおよび動作状態判定方法に関し、特にアプリケーションプログラムの休眠の発生原因を特定可能なコンピュータシステム、動作状態判定プログラムおよび動作状態判定方法に関する。 The present invention relates to a computer system, an operation state determination program for determining an operation state of an application program running on the computer system, and an operation state determination method, and more particularly to a computer system and operation state determination capable of specifying the cause of sleep in an application program. The present invention relates to a program and an operation state determination method.
従来、コンピュータシステム上で実行されるアプリケーションプログラムに異常が発生した際の対処方法が各種考案されている。例えば、特許文献1は、アプリケーションプログラムが生成したプロセスが関数を呼び出す直前のコンテキストを記録しておき、関数実行後に異常が発生した場合は記録しておいたコンテキストをCPUに書き戻すとともに、本来の関数に替わって特定機能を省略した代替関数を実行させる技術を開示している。
Conventionally, various countermeasures have been devised when an abnormality occurs in an application program executed on a computer system. For example,
しかしながら上述した従来の技術では、どのような関数が呼び出されて異常に至ったかという履歴を考慮していないため、例えば最後から1つ前に呼び出された関数が異常の原因だったような場合に異常を正しく検出することができないという問題点があった。 However, since the above-described conventional technology does not consider the history of what function is called and has caused an abnormality, for example, when the last function called is the cause of the abnormality. There was a problem that the abnormality could not be detected correctly.
さらに、異常が発生したことは検知しても、プロセスのどの待ち状態で異常になったかの判別を行なうことができないという問題点があった。 Furthermore, there is a problem that even if it is detected that an abnormality has occurred, it cannot be determined in which waiting state of the process the abnormality has occurred.
この発明は、上述した従来技術による問題点を解消し、課題を解決するためになされたものであり、アプリケーションプログラムの休眠の発生原因を特定可能なコンピュータシステム、動作状態判定プログラムおよび動作状態判定方法を提供することを目的とする。 The present invention has been made in order to solve the above-described problems caused by the prior art and to solve the problems. A computer system, an operation state determination program, and an operation state determination method capable of identifying the cause of sleep in an application program The purpose is to provide.
上述した課題を解決し、目的を達成するため、請求項1の発明に係るコンピュータシステムは、アプリケーションプログラムを実行するコンピュータシステムであって、前記アプリケーションプログラムによる関数の実行履歴を記憶する実行履歴記憶手段と、前記関数の実行履歴を参照して休眠状態の原因となった関数を特定する休眠状態特定手段と、を備えたことを特徴とする。
In order to solve the above-mentioned problems and achieve the object, a computer system according to the invention of
この請求項1の発明によればコンピュータシステムは、アプリケーションプログラムによる関数の実行履歴を記憶し、関数の実行履歴を参照して休眠状態の原因となった関数を特定する。 According to the first aspect of the present invention, the computer system stores the function execution history of the application program, and identifies the function causing the sleep state by referring to the function execution history.
また、請求項2の発明に係るコンピュータシステムは、請求項1に記載の発明において、前記休眠状態の原因となりえる関数のリストを原因関数リストとして記憶する原因関数リスト記憶手段をさらに備え、前記休眠状態特定手段は、前記実行履歴記憶手段が記憶した関数が前記原因関数リストに存在する場合に、当該関数が前記休眠状態の原因であると特定することを特徴とする。 The computer system according to a second aspect of the present invention is the computer system according to the first aspect, further comprising causal function list storage means for storing a list of functions that can cause the sleep state as a cause function list. When the function stored in the execution history storage unit exists in the cause function list, the state specifying unit specifies that the function is the cause of the sleep state.
この請求項2の発明によればコンピュータシステムは、休眠状態の原因となりえる関数のリストを原因関数リストとして記憶し、実行履歴記憶手段が記憶した関数が原因関数リストに存在する場合に、その関数が前記休眠状態の原因であると特定する。 According to the invention of claim 2, the computer system stores a list of functions that can cause a sleep state as a cause function list, and when the function stored in the execution history storage means exists in the cause function list, the function Is identified as the cause of the dormant state.
また、請求項3の発明に係るコンピュータシステムは、請求項1または2に記載の発明において、前記休眠状態特定手段は、前記実行履歴記憶手段が記憶した関数のうち、実行順序が後の関数から前記原因関数リストに存在するか否かの検索を順次実行し、原因関数リストに存在する関数を検出した時点で当該関数が前記休眠状態の原因であると特定することを特徴とする。 The computer system according to a third aspect of the present invention is the computer system according to the first or second aspect, wherein the sleep state specifying means starts from a function whose execution order is later among the functions stored in the execution history storage means. A search for whether or not it exists in the cause function list is sequentially executed, and when a function existing in the cause function list is detected, the function is identified as the cause of the sleep state.
この請求項3の発明によればコンピュータシステムは、実行履歴記憶手段が記憶した関数のうち、実行順序が後の関数から原因関数リストに存在するか否かの検索を順次実行し、原因関数リストに存在する関数を検出した時点でその関数が休眠状態の原因であると特定する。 According to the third aspect of the present invention, the computer system sequentially executes a search as to whether or not the execution order exists in the cause function list from the later function among the functions stored in the execution history storage means, and the cause function list When a function existing in is detected, the function is identified as the cause of the sleep state.
また、請求項4の発明に係るコンピュータシステムは、請求項2または3に記載の発明において、前記原因関数リストは、各関数と当該関数が原因である場合のアプリケーションプログラムの待ち状態の種類とを対応付けて記憶し、前記休眠状態特定手段は、休眠状態の原因である関数を特定した場合に、前記アプリケーションプログラムの待ち状態の種類をさらに特定することを特徴とする。 According to a fourth aspect of the present invention, there is provided the computer system according to the second or third aspect, wherein the cause function list includes each function and the type of wait state of the application program when the function is the cause. The sleep state specifying means further specifies the type of wait state of the application program when the function that causes the sleep state is specified.
この請求項4の発明によればコンピュータシステムは、原因関数リストに各関数と当該関数が原因である場合のアプリケーションプログラムの待ち状態の種類とを対応付けて記憶し、休眠状態の原因である関数を特定した場合にアプリケーションプログラムの待ち状態の種類をさらに特定する。 According to the fourth aspect of the present invention, the computer system stores each function and the wait state of the application program when the function is the cause in association with each other in the cause function list and stores the function that causes the sleep state. If the application program is specified, the type of wait state of the application program is further specified.
また、請求項5の発明に係るコンピュータシステムは、請求項2,3または4に記載の発明において、前記関数リスト記憶手段が記憶する関数の追加および/または削除を行なう原因関数リスト更新手段をさらに備えたことを特徴とする。 According to a fifth aspect of the present invention, there is provided a computer system according to the second, third or fourth aspect, further comprising a cause function list updating means for adding and / or deleting a function stored in the function list storage means. It is characterized by having.
この請求項5の発明によればコンピュータシステムは、休眠状態の原因となりえる関数のリストを原因関数リストとして記憶するとともに適宜更新し、実行履歴記憶手段が記憶した関数が原因関数リストに存在する場合に、その関数が前記休眠状態の原因であると特定する。 According to the invention of claim 5, the computer system stores a list of functions that can cause a sleep state as a cause function list and updates the function appropriately, and the function stored by the execution history storage means exists in the cause function list. Then, the function is identified as the cause of the sleep state.
また、請求項6の発明に係るコンピュータシステムは、請求項5に記載の発明において、前記原因関数リスト更新手段は、アプリケーションプログラムの動作状態の変化および/またはハードウェアの接続状態の変化に基づいて前記関数の追加および/または削除を実行することを特徴とする。 According to a sixth aspect of the present invention, in the computer system according to the fifth aspect, the causal function list update means is based on a change in the operating state of the application program and / or a change in the hardware connection state. The addition and / or deletion of the function is performed.
この請求項6の発明によればコンピュータシステムは、休眠状態の原因となりえる関数のリストを原因関数リストとして記憶するとともにアプリケーションプログラムの動作状態やハードウェアの接続状態の変化に基づいて適宜更新し、実行履歴記憶手段が記憶した関数が原因関数リストに存在する場合に、その関数が前記休眠状態の原因であると特定する。 According to the invention of claim 6, the computer system stores a list of functions that can cause a sleep state as a cause function list, and updates appropriately based on changes in the operating state of the application program and the connection state of the hardware, When the function stored in the execution history storage means exists in the cause function list, the function is identified as the cause of the sleep state.
また、請求項7の発明に係る動作状態判定プログラムは、コンピュータシステム上で動作するアプリケーションプログラムの動作状態を判定する動作状態判定プログラムであって、前記アプリケーションプログラムによる関数の実行履歴を記憶する記憶手順と、前記関数の実行履歴を参照して休眠状態の原因となった関数を特定する休眠状態特定手順と、をコンピュータに実行させることを特徴とする。 An operating state determination program according to a seventh aspect of the invention is an operating state determination program for determining an operating state of an application program operating on a computer system, and storing a function execution history by the application program And a sleep state specifying procedure for specifying a function that causes a sleep state with reference to the execution history of the function.
この請求項7の発明によれば動作状態判定プログラムは、アプリケーションプログラムによる関数の実行履歴を記憶し、関数の実行履歴を参照して休眠状態の原因となった関数を特定する。 According to the seventh aspect of the present invention, the operation state determination program stores the function execution history by the application program, and identifies the function causing the sleep state by referring to the function execution history.
また、請求項8の発明に係る動作状態判定プログラムは、請求項7に記載の発明において、前記プログラム実行単位が休眠状態であるか否かを判定する判定手順をさらにコンピュータに実行させることを特徴とする。 According to an eighth aspect of the present invention, there is provided an operation state determination program that causes the computer to further execute a determination procedure for determining whether or not the program execution unit is in a sleep state. And
この請求項8の発明によれば動作状態判定プログラムは、アプリケーションプログラムのプログラム実行単位による関数の実行履歴を記憶するとともにプログラム実行単位が休眠状態であるか否かを判定し、プログラム実行単位が休眠状態である場合に関数の実行履歴を参照して休眠状態の原因となった関数を特定する。 According to the eighth aspect of the present invention, the operation state determination program stores the function execution history by the program execution unit of the application program, determines whether or not the program execution unit is in a sleep state, and the program execution unit is in a sleep state. If it is in the state, refer to the function execution history to identify the function that caused the sleep state.
また、請求項9の発明に係る動作状態判定プログラムは、請求項7に記載の発明において、前記プログラム実行単位が休眠状態であるか否かを外部から取得することを特徴とする。 An operation state determination program according to a ninth aspect of the invention is characterized in that, in the seventh aspect of the invention, whether or not the program execution unit is in a sleep state is acquired from the outside.
この請求項9の発明によれば動作状態判定プログラムは、アプリケーションプログラムのプログラム実行単位による関数の実行履歴を記憶するとともにプログラム実行単位が休眠状態であるか否かを外部から取得し、プログラム実行単位が休眠状態である場合に関数の実行履歴を参照して休眠状態の原因となった関数を特定する。 According to the ninth aspect of the invention, the operation state determination program stores the function execution history of the application program according to the program execution unit, acquires from the outside whether or not the program execution unit is in a sleep state, and executes the program execution unit. When is in a sleep state, the function execution history is identified by referring to the function execution history.
また、請求項10の発明に係る動作状態判定方法は、コンピュータシステム上で動作するアプリケーションプログラムの動作状態を判定する動作状態判定方法であって、前記アプリケーションプログラムによる関数の実行履歴を記憶する記憶工程と、前記関数の実行履歴を参照して休眠状態の原因となった関数を特定する休眠状態特定工程と、を含んだことを特徴とする。
An operation state determination method according to the invention of
この請求項10の発明によれば動作状態判定方法は、アプリケーションプログラムによる関数の実行履歴を記憶し、関数の実行履歴を参照して休眠状態の原因となった関数を特定する。
According to the invention of
請求項1の発明によればコンピュータシステムは、アプリケーションプログラムによる関数の実行履歴を記憶し、関数の実行履歴を参照して休眠状態の原因となった関数を特定するので、アプリケーションプログラムの休眠の発生原因を特定可能なコンピュータシステムを得ることができるという効果を奏する。 According to the first aspect of the present invention, the computer system stores the function execution history by the application program, and identifies the function causing the sleep state by referring to the function execution history. There is an effect that a computer system capable of specifying the cause can be obtained.
また、請求項2の発明によればコンピュータシステムは、休眠状態の原因となりえる関数のリストを原因関数リストとして記憶し、実行履歴記憶手段が記憶した関数が原因関数リストに存在する場合に、その関数が前記休眠状態の原因であると特定するので、アプリケーションプログラムの休眠の発生原因を簡易に特定可能なコンピュータシステムを得ることができるという効果を奏する。 According to the second aspect of the present invention, the computer system stores a list of functions that can cause a sleep state as a cause function list, and when the function stored by the execution history storage means exists in the cause function list, Since the function is identified as the cause of the sleep state, it is possible to obtain a computer system that can easily identify the cause of the occurrence of sleep in the application program.
また、請求項3の発明によればコンピュータシステムは、実行履歴記憶手段が記憶した関数のうち、実行順序が後の関数から原因関数リストに存在するか否かの検索を順次実行し、原因関数リストに存在する関数を検出した時点でその関数が休眠状態の原因であると特定するので、アプリケーションプログラムの休眠の発生原因を確実に特定可能なコンピュータシステムを得ることができるという効果を奏する。 According to a third aspect of the present invention, the computer system sequentially executes a search as to whether or not the execution order exists in the cause function list from the later function among the functions stored in the execution history storage means, When a function existing in the list is detected, the function is identified as the cause of the sleep state, so that it is possible to obtain a computer system capable of reliably specifying the cause of the sleep of the application program.
また、請求項4の発明によればコンピュータシステムは、原因関数リストに各関数と当該関数が原因である場合のアプリケーションプログラムの待ち状態の種類とを対応付けて記憶し、休眠状態の原因である関数を特定した場合にアプリケーションプログラムの待ち状態の種類をさらに特定するので、アプリケーションプログラムの休眠の発生原因と、休眠によって発生する待ち状態とを特定可能なコンピュータシステムを得ることができるという効果を奏する。 According to the invention of claim 4, the computer system stores each function and the wait state of the application program when the function is the cause in association with each other in the cause function list, and causes the sleep state. When the function is specified, the type of wait state of the application program is further specified, so that it is possible to obtain a computer system capable of specifying the cause of sleep of the application program and the wait state generated by sleep. .
また、請求項5の発明によればコンピュータシステムは、休眠状態の原因となりえる関数のリストを原因関数リストとして記憶するとともに適宜更新し、実行履歴記憶手段が記憶した関数が原因関数リストに存在する場合に、その関数が前記休眠状態の原因であると特定するので、アプリケーションプログラムの休眠の発生原因を正確に特定可能なコンピュータシステムを得ることができるという効果を奏する。 According to the invention of claim 5, the computer system stores a list of functions that can cause a sleep state as a cause function list and updates it appropriately, and the function stored by the execution history storage means exists in the cause function list. In this case, since the function is identified as the cause of the sleep state, it is possible to obtain a computer system capable of accurately specifying the cause of the sleep of the application program.
また、請求項6の発明によればコンピュータシステムは、休眠状態の原因となりえる関数のリストを原因関数リストとして記憶するとともにアプリケーションプログラムの動作状態やハードウェアの接続状態の変化に基づいて適宜更新し、実行履歴記憶手段が記憶した関数が原因関数リストに存在する場合に、その関数が前記休眠状態の原因であると特定するので、アプリケーションプログラムの休眠の発生原因をコンピュータシステムの状態に応じて特定可能なコンピュータシステムを得ることができるという効果を奏する。 According to the invention of claim 6, the computer system stores a list of functions that can cause a sleep state as a cause function list and updates it appropriately based on changes in the operating state of the application program and the connection state of the hardware. When the function stored in the execution history storage means is present in the cause function list, the function is identified as the cause of the sleep state, so the cause of the sleep of the application program is specified according to the state of the computer system. There is an effect that a possible computer system can be obtained.
また、請求項7の発明によれば動作状態判定プログラムは、アプリケーションプログラムによる関数の実行履歴を記憶し、関数の実行履歴を参照して休眠状態の原因となった関数を特定するので、アプリケーションプログラムの休眠の発生原因を特定可能な動作状態判定プログラムを得ることができるという効果を奏する。 According to the invention of claim 7, the operation state determination program stores the function execution history by the application program, and refers to the function execution history to identify the function causing the sleep state. There is an effect that it is possible to obtain an operation state determination program capable of specifying the cause of the occurrence of sleep.
また、請求項8の発明によれば動作状態判定プログラムは、アプリケーションプログラムのプログラム実行単位による関数の実行履歴を記憶するとともにプログラム実行単位が休眠状態であるか否かを判定し、プログラム実行単位が休眠状態である場合に関数の実行履歴を参照して休眠状態の原因となった関数を特定するので、アプリケーションプログラムの休眠の発生を検知し、その原因関数を特定可能な動作状態判定プログラムを得ることができるという効果を奏する。 According to the eighth aspect of the invention, the operation state determination program stores the function execution history by the program execution unit of the application program and determines whether the program execution unit is in a sleep state. Since the function that caused the sleep state is identified by referring to the function execution history in the sleep state, the occurrence of sleep in the application program is detected, and an operation state determination program capable of specifying the cause function is obtained. There is an effect that can be.
また、請求項9の発明によれば動作状態判定プログラムは、アプリケーションプログラムのプログラム実行単位による関数の実行履歴を記憶するとともにプログラム実行単位が休眠状態であるか否かを外部から取得し、プログラム実行単位が休眠状態である場合に関数の実行履歴を参照して休眠状態の原因となった関数を特定するので、外部のアプリケーションによる検知結果を利用して休眠の発生原因を特定可能な動作状態判定プログラムを得ることができるという効果を奏する。 According to the invention of claim 9, the operation state determination program stores the function execution history by the program execution unit of the application program, acquires from the outside whether the program execution unit is in a sleep state, and executes the program. When the unit is in the dormant state, the function execution history is identified by referring to the function execution history, so the operation state determination that can identify the cause of the dormancy using the detection result of the external application There is an effect that a program can be obtained.
また、請求項10の発明によれば動作状態判定方法は、アプリケーションプログラムによる関数の実行履歴を記憶し、関数の実行履歴を参照して休眠状態の原因となった関数を特定するので、アプリケーションプログラムの休眠の発生原因を特定可能な動作状態判定方法を得ることができるという効果を奏する。
Further, according to the invention of
以下に添付図面を参照して、この発明に係るコンピュータシステム、動作状態判定プログラムおよび動作状態判定方法の好適な実施例について詳細に説明する。 Exemplary embodiments of a computer system, an operation state determination program, and an operation state determination method according to the present invention will be described below in detail with reference to the accompanying drawings.
図1は、本発明の実施例であるコンピュータシステム1の概要構成を示す概要構成図である。同図に示すように、コンピュータシステム1ではオペレーティングシステム10、監視プログラム11および監視対象アプリケーション12が動作している。
FIG. 1 is a schematic configuration diagram showing a schematic configuration of a
オペレーティングシステム10は、そのソフトウェア機能として休眠状態特定部21および動作情報管理部22を有する。また、監視プログラム20は、そのソフトウェア機能として監視処理部30を有し、監視処理部30は、その内部にアプリケーション監視部31、動作異常判定部32および動作異常時処理部33を有する。
The
記憶部40はメモリなどの記録媒体であり、オペレーティングシステム10、監視プログラム11、監視対象アプリケーション12がそれぞれ情報の記憶に使用する。
The
監視対象アプリケーション12は、オペレーティングシステム10に管理されるとともに、監視プログラム11による監視を受ける任意のアプリケーションプログラムである。この監視対象アプリケーション12は、動作時にプログラム実行単位であるプロセス(もしくはスレッド)を生成する。
The
生成されたプロセスは複数の関数を順次実行し、各関数をアプリスタック情報42として記憶部40に退避する。すなわち、アプリスタック情報42は、プロセスの関数実行履歴を格納することとなる。またプロセスに関する情報を示す動作情報43は、オペレーションシステム10がプロセス管理に使用するため記憶部40に格納される。
The generated process sequentially executes a plurality of functions and saves each function in the
アプリケーション監視部31は、監視対象アプリケーション12の動作状態を監視する。また、アプリケーション監視部31は、その内部に原因関数リスト更新部31aを有する。
The application monitoring unit 31 monitors the operation state of the
原因関数リスト更新部31aは、記憶部40が記憶する原因関数リスト41の内容を更新する処理を行なう。原因関数リスト41は、プロセスが実行する関数のうち、休眠状態の原因となりえる関数のリストである。ここで、原因関数リスト41に含む必要のある関数は、どのような監視対象アプリケーションが動作しているかによって変化する。
The cause function list update unit 31a performs a process of updating the contents of the
例えば、コンピュータシステム1にUSBデバイスが接続されており、USBデバイスの入出力を管理するUSBドライバが管理対象アプリケーション12として動作しているならば、USBデバイスの入出力に関係する関数がUSBドライバの休眠原因となる可能性があるので、原因関数リスト40に登録する必要がある。
For example, if a USB device is connected to the
しかし、USBデバイスが接続されていない場合やUSBドライバが起動していない場合には、USBデバイスの入出力に関係する関数を原因関数リスト40に登録する必要はない。
However, when the USB device is not connected or when the USB driver is not activated, it is not necessary to register a function related to input / output of the USB device in the
そこで、原因関数リスト更新部31aは、監視対象アプリケーション12の動作状態やハードウェアの接続状態の変化に基づいて原因関数リスト41の内容を適宜更新している。
Therefore, the cause function list update unit 31a appropriately updates the contents of the
動作異常判定部32は、監視対象アプリケーション12に属するプロセスの動作情報43に基づいて各プロセスに動作異常があるか否かを判定することにより監視対象アプリの動作異常を検出する。
The operation
具体的には、動作異常判定部32は、所定のタイミングで動作情報管理部22に動作情報取得要求をおこなう。動作情報管理部22は、この要求に応えて記憶部40から動作情報43を読み出して動作異常判定部32に渡す。動作異常判定部32は、取得した動作情報43から「無限ループ」「CPU待ち状態」「I/O待ち状態」などの動作異常が監視対象アプリケーション12に生じているか否かを判定する。
Specifically, the operation
ここで「I/O待ち状態」は、例えばリソースの競合などによってプロセスが発行した関数の実行が完了せず、プロセスが関数の実行終了を待機したまま停止した状態(すなわちプロセスが休眠した状態)である。 Here, the “I / O waiting state” is a state in which the execution of the function issued by the process is not completed due to, for example, resource competition, and the process is stopped while waiting for the completion of the execution of the function (that is, the process is sleeping) It is.
動作異常判定部32は、このようにプロセスが休眠状態となっている場合には、休眠状態となったプロセスがアプリスタック情報42として使用しているメモリを特定し、休眠状態特定部21に対して休眠状態の特定要求を出力する。
When the process is in the sleep state in this way, the operation
休眠状態特定部21は、休眠状態の特定要求を受けた場合に、原因関数リスト41およびアプリスタック情報42を用いて休眠状態の原因となった関数を特定する。さらに、休眠状態特定部21内部の待ち状態特定部21aは、動作異常に陥った監視対象アプリケーション12の待ち状態の種類を特定する。そして休眠状態特定部21は、休眠状態の原因となった関数や、監視対象アプリケーション12の待ち状態の種類を動作異常判定部32に報告する。
When receiving the sleep state specification request, the sleep state specifying unit 21 uses the
動作異常時処理部33は、動作異常判定部32が動作異常であると判定した場合に、その異常の種類、またプロセスが休眠状態である場合には休眠状態の原因となった関数や待ち状態の種類に基づいて、該当する監視対象アプリケーション12の終了処理や、エラー表示処理などをおこなう。
When the operation
このようにコンピュータシステム1では、プロセスが休眠状態となったことを検知した場合にそのプロセスの関数実行履歴から、どの関数がプロセス休眠の原因となったかを特定することができる。
As described above, when the
つづいて、動作異常判定部32による異常判定処理についてさらに説明する。まず、異常の判定において用いられる動作情報と、かかる動作情報に基づいて判定される異常種別との関係を図2に示す。動作異常判定部32による異常判定処理では、CPU上で動作するプロセスの切り替え(以下、「コンテキストスイッチ」と言う)に着目し、コンテキストスイッチ回数の変化と異常種別との関係を用いて監視対象アプリの動作異常を検出する。
Subsequently, the abnormality determination process by the operation
ここで、かかるコンテキストスイッチについて説明しておく。シングルCPUのコンピュータ上にマルチプロセス環境を実現するためには、CPU上で動作する各プロセスを順次切替えることにより、あたかも複数のプロセスが同時に動作しているようにスケジューリングする必要がある。たとえば、リアルタイムスケジューリングの場合にはタイマ割込みによりコンテキストスイッチがおこなわれ、実行中のプロセスにかわって実行待ちのプロセスがCPUにロードされる。また、ラウンドロビンスケジューリングの場合には各プロセスにタイムスライスを割り当て、このタイムスライスを使い切ったならばコンテキストスイッチがおこなわれ実行プロセスが切替えられる。 Here, the context switch will be described. In order to realize a multi-process environment on a single CPU computer, it is necessary to perform scheduling so that a plurality of processes are simultaneously operating by sequentially switching processes operating on the CPU. For example, in the case of real-time scheduling, context switching is performed by a timer interrupt, and a process waiting for execution is loaded on the CPU in place of the process being executed. In the case of round robin scheduling, a time slice is assigned to each process, and when this time slice is used up, a context switch is performed to switch the execution process.
また、かかるコンテキストスイッチには、自発的コンテキストスイッチと他発的コンテキストスイッチとがある。ここで、自発的コンテキストスイッチとは、CPU上で実行中のプロセスが入出力処理やセマフォなどのリソースを獲得するために、CPU上での実行権を自ら開放することにより引き起こすコンテキストスイッチのことをいう。また、他発的コンテキストスイッチとは、上述したオペレーティングシステムのスケジューリングなどにより実行中のプロセス以外の要因で引き起こされるコンテキストスイッチのことをいう。 Such context switches include a spontaneous context switch and a spontaneous context switch. Here, the spontaneous context switch is a context switch that is caused by releasing the execution right on the CPU itself so that the process running on the CPU acquires resources such as input / output processing and semaphore. Say. Further, the spontaneous context switch refers to a context switch caused by factors other than the process being executed due to the above-described scheduling of the operating system or the like.
そして、これらのコンテキストスイッチのカウントアップは、たとえば、以下のような手順でおこなわれる。すなわち、オペレーティングシステムが上記した自発的コンテキストスイッチを検出した場合、CPUを開放したプロセスから他のプロセスへ制御を移すとともに、メモリ上の自発的コンテキストスイッチ回数をインクリメントする。一方、上記した他発的コンテキストスイッチを検出した場合には、実行中のプロセスの実行を中断させ、割り込みプロセスへ制御を移すとともに、メモリ上の他発的コンテキストスイッチ回数をインクリメントする。 The count up of these context switches is performed, for example, in the following procedure. That is, when the operating system detects the above-described spontaneous context switch, the control is transferred from the process that releases the CPU to another process, and the number of spontaneous context switches on the memory is incremented. On the other hand, when the above-described other context switch is detected, the execution of the process being executed is interrupted, the control is transferred to the interrupt process, and the number of other context switches on the memory is incremented.
なお、このようなコンテキストスイッチのカウントアップ機能を備えないオペレーティングシステムを用いる場合であっても、プロセスがハードウェアにI/O要求を出した回数や、割り込みが発生した回数などをモニタすることにより、かかるカウントアップ機能を実現することができる。 Even when an operating system that does not have such a context switch count-up function is used, the number of times that a process issues an I / O request to the hardware, the number of times an interrupt occurs, and the like are monitored. Such a count-up function can be realized.
このように、コンテキストスイッチは実行プロセスが切り替わる際に引き起こされるので、かかるコンテキストスイッチ回数に着目することによりプロセスの動作異常を検出することが可能となる。 As described above, since the context switch is caused when the execution process is switched, it is possible to detect an abnormal operation of the process by paying attention to the number of context switches.
具体的には、図2に示したように、無限ループによる動作異常の場合には、プロセス状態が実行中であり、他発的コンテキストスイッチ回数は増加しているものの自発的コンテキストスイッチ回数が変化していない状態となる。すなわち、オペレーティングシステムのスケジューリングによりコンテキストスイッチが引き起こされているもののプロセスの処理は完了していないので、自発的なコンテキストスイッチを引き起こしていない状態が継続していることをあらわしている。したがって、かかる状態が所定時間継続しているプロセスは、無限ループによりCPUを長時間使用している可能性が高いので動作異常であると判定する。 Specifically, as shown in FIG. 2, in the case of an abnormal operation due to an infinite loop, the process state is being executed and the number of spontaneous context switches has increased, but the number of spontaneous context switches has changed. It will be in a state that is not. That is, although the context switch is caused by the scheduling of the operating system, the processing of the process is not completed, so that the state that does not cause the spontaneous context switch continues. Therefore, it is determined that a process in which such a state continues for a predetermined time is abnormal in operation because it is highly likely that the CPU has been used for a long time due to an infinite loop.
また、CPU待ちによる動作異常の場合には、プロセス状態が実行中であり、他発的コンテキストスイッチ回数および自発的コンテキストスイッチ回数のいずれもが変化しない状態となる。かかる状態が所定時間継続した場合には、他のプロセスによりプロセスの実行が阻害されている可能性が高いのでCPU待ちによる動作異常であると判定する。 In the case of an abnormal operation due to waiting for the CPU, the process state is being executed, and neither the number of spontaneous context switches nor the number of spontaneous context switches changes. If this state continues for a predetermined time, it is highly likely that the execution of the process is hindered by another process, so it is determined that the operation is abnormal due to the CPU waiting.
また、I/O待ちによる動作異常の場合には、プロセスが待機中であり、他発的コンテキストスイッチ回数および自発的コンテキストスイッチ回数のいずれもが変化しない状態となる。かかる状態が所定時間継続した場合には、他のプロセスとのリソースの競合などによりプロセスのI/O処理が阻害されている可能性が高いのでI/O待ちによる動作異常であると判定する。 In the case of an abnormal operation due to waiting for I / O, the process is waiting, and neither the number of spontaneous context switches nor the number of spontaneous context switches changes. If such a state continues for a predetermined time, it is highly likely that the I / O processing of the process is hindered due to resource contention with another process, and so it is determined that the operation is abnormal due to I / O waiting.
このように、本発明に係る異常検出処理では、コンテキストスイッチに着目し、かかるコンテキストスイッチ回数の変化とプロセス状態の継続時間とを関連づけることにより動作異常を検出することとしたので、効率的に監視対象アプリの動作異常を検出することができる。 As described above, in the abnormality detection processing according to the present invention, attention is paid to the context switch, and the operation abnormality is detected by associating the change in the number of context switches with the duration of the process state. An abnormal operation of the target application can be detected.
つぎに、原因関数リスト41の具体例について図3を参照して説明する。同図に示すように、原因関数リスト41は、「待ち状態要因」「関数」「アドレス」を関連付けて記憶している。
Next, a specific example of the
「関数」の項目は、「usb_read」や「hdd_write」など、プロセス休眠状態の原因となる可能性のある関数群であり、「アドレス」は、その関数が記憶部40のどの位置に格納されたかを示す情報である。
The item of “function” is a group of functions that may cause a process sleep state such as “usb_read” and “hdd_write”, and the “address” indicates where the function is stored in the
また、「待ち状態要因」は、その関数が原因となってプロセス休眠状態となった場合に、監視対象アプリケーション12がどのような待ち状態となるかを示す情報である。たとえば、関数「usb_read」が原因となったプロセス休眠状態では、「待ち状態要因」が「USB」であり、監視対象アプリケーション12は「USB異常」による待ち状態(たとえば、USBに接続した機器が応答しないために応答待ちで止まっている状態)に陥る。同様に、関数「hdd_write」」が原因となったプロセス休眠状態では、「待ち状態要因」が「HDD」であり、監視対象アプリケーション12は「HDD異常」による待ち状態(たとえば、HDDの物理的なクラッシュやデータの破損などにより、データが正しく読み書きできず、応答待ちで止まっている状態)に陥る。
The “waiting state factor” is information indicating what waiting state the
つぎに、プロセスによる関数の実行とアプリスタック情報42との関係について図4を参照して説明する。同図では、プロセスが関数「usb_read」を実行すると、関数「usb_read」はその処理内で関数「f1」を呼び出す。同様に、関数「f1」は処理内で関数「f2」を呼び出し、関数「f2」はさらに関数「3」を呼び出す。 Next, the relationship between the function execution by the process and the application stack information 42 will be described with reference to FIG. In the figure, when the process executes the function “usb_read”, the function “usb_read” calls the function “f1” in the process. Similarly, the function “f1” calls the function “f2” in the process, and the function “f2” further calls the function “3”.
そして、これらの関数「usb_read」「f1」「f2」「f3」「f4」の実行時のCPUの状態が、それぞれアプリスタック情報42に退避される。この時、関数の実行順序に従って、アプリスタック情報42の下から退避が実行される。 Then, the state of the CPU when these functions “usb_read”, “f1”, “f2”, “f3”, and “f4” are executed is saved in the application stack information 42, respectively. At this time, evacuation is executed from under the application stack information 42 in accordance with the function execution order.
したがって、このプロセスが休眠状態となった場合、アプリスタック情報42の最も上に退避されている関数(同図では関数「f3」)が、最後に実行された関数となる。そこで、この最後に実行された関数が原因関数リスト41に登録されているならば、最後に実行した関数がプロセス休眠の原因関数であると特定することができる。
Therefore, when this process enters the sleep state, the function saved at the top of the application stack information 42 (in the figure, the function “f3”) becomes the last executed function. Therefore, if this last executed function is registered in the
一方、最後に実行された関数がアプリスタック情報42に登録されていない場合、その前に実行された関数(最後に実行した関数を呼び出した関数。図4では関数「f2」)が原因関数リスト41に登録されているか否かを確認し、登録されているならばその関数がプロセス休眠の原因関数であると特定する。そして、登録されていなければさらに一つ前の関数をキーとして原因関数リスト41を検索する。
On the other hand, if the last executed function is not registered in the application stack information 42, the function executed before that (the function that called the last executed function; function “f2” in FIG. 4) is the cause function list. Whether or not the function is registered is identified, and if it is registered, the function is specified as a cause function of process sleep. If not registered, the
このように、最後に実行した関数から順に原因関数リスト41を検索し、原因関数リスト41に登録された関数が見つかるまで遡ることで、プロセス休眠の原因関数を特定することができる。なお、関数を遡る際には、アプリスタック情報42の各関数が使用しているメモリ領域に格納したリターンレジスタおよびフレームポインタ(一つ前の関数が使用しているメモリ領域の先頭アドレスを示す情報)を使用すればよい。
In this way, the
つぎに、コンピュータシステム1の処理動作について図5のフローチャートを参照して説明する。同図に示す処理フローは、監視プログラム11によって定期的に実行される。
Next, the processing operation of the
この処理フローが開始されると、まず、動作異常判定部32が動作情報43を取得する(ステップS101)。そして、取得した動作情報43を用いてプロセスの動作異常を判定する(ステップS102)。
When this processing flow is started, first, the operation
その結果、動作異常プロセスが存在しない場合には(ステップS103,No)、そのまま処理を終了する。一方、動作異常プロセスが存在するならば(ステップS103,Yes)、そのプロセスが休眠状態であるか否かを判定する(ステップS104)。 As a result, if there is no abnormal operation process (No at Step S103), the process is terminated as it is. On the other hand, if an abnormal operation process exists (step S103, Yes), it is determined whether or not the process is in a sleep state (step S104).
そして、プロセスが休眠状態であるならば(ステップS104,Yes)、休眠状態特定部21による休眠状態特定処理(ステップS105)をさらに実行する。 If the process is in a sleep state (step S104, Yes), a sleep state specifying process (step S105) by the sleep state specifying unit 21 is further executed.
プロセスが休眠状態で無かった場合(ステップS104,No)もしくは休眠状態特定処理(ステップS105)の後、動作異常処理部33が動作異常の内容に基づいて該当する監視対象アプリケーション12の終了処理や、エラー表示処理などの異常時処理を実行して(ステップS106)、処理を終了する。
If the process is not in the sleep state (No in step S104) or after the sleep state specifying process (step S105), the abnormal
つづいて、休眠状態特定部21による休眠状態特定処理(ステップS105)の処理内容について図6のフローチャートを参照してさらに説明する。 Subsequently, the processing content of the sleep state specifying process (step S105) by the sleep state specifying unit 21 will be further described with reference to the flowchart of FIG.
同図に示すように休眠状態特定部21は、まず休眠状態のプロセスが使用していた動作異常スタックの最上部の関数を読み出し(ステップS201)、読み出した関数をキーに原因関数リスト41を検索する(ステップS202)。
As shown in the figure, the sleep state specifying unit 21 first reads the top function of the abnormal operation stack used by the sleep state process (step S201), and searches the
その結果、読み出した関数が原因関数リスト41に存在しなければ(ステップS203,No)、つぎの関数を読み出して(ステップS205)、読み出した関数をキーに原因関数リスト41を検索する(ステップS202)。
As a result, if the read function does not exist in the cause function list 41 (step S203, No), the next function is read (step S205), and the
そして、読み出した関数が原因関数リスト41に存在するならば(ステップS203,Yes)、読み出した関数に基づいて待ち状態を特定し(ステップS204)、処理を終了する。 If the read function exists in the cause function list 41 (step S203, Yes), a waiting state is specified based on the read function (step S204), and the process ends.
上述してきたように、本実施例にかかるコンピュータシステムでは、原因関数リスト後進部31aによってプロセス休眠状態の原因となる可能性のある関数を原因関数リスト41として記憶し、プロセスが休眠状態になっている場合にはそのプロセスの関数実行履歴を記録したアプリスタック情報42と原因関数リスト41とを対比することで、どの関数がプロセス休眠の原因となったかを特定することができる。
As described above, in the computer system according to the present embodiment, the cause function list backward unit 31a stores a function that may cause the process sleep state as the
このように、プロセス休眠の原因を関数レベルで特定することによって、他のアプリケーションへの影響を最小限に抑えて休眠状態の復旧を行なうことができる。そのため、車載用のシステム、カーナビゲーション装置や車両の動作制御装置など、高い安定性が必要なシステムに適している。 Thus, by identifying the cause of process sleep at the function level, it is possible to restore the sleep state while minimizing the influence on other applications. Therefore, it is suitable for a system that requires high stability, such as a vehicle-mounted system, a car navigation device, and a vehicle operation control device.
例えば、音楽再生プログラムとナビゲーションプログラムが同一のオペレーティングシステム上で動作する車載装置に本発明を適用すれば、音楽再生プログラムが休眠状態となった場合でも、ナビゲーションプログラムを正常に動作させつつ音楽再生プログラムの復旧を行なうことができる。 For example, if the present invention is applied to an in-vehicle device in which a music playback program and a navigation program operate on the same operating system, even if the music playback program enters a sleep state, the music playback program can be operated normally. Can be restored.
なお、本実施例ではプログラム実行単位として主にプロセスを例に説明を行なったが、スレッドなど他のプログラム実行単位であっても同様に本発明を適用可能であることは言うまでもない。 In the present embodiment, the process is mainly described as an example of the program execution unit. However, it goes without saying that the present invention can be similarly applied to other program execution units such as threads.
また、本実施例では、プロセスが動作時に使用するアプリスタック情報を参照して関数の実行履歴を取得していたが、たとえばオペレーティングシステムがプロセスによる関数の実行履歴を動作情報として管理し、この動作情報から関数の実行履歴を取得する構成としてもよい。 In this embodiment, the function execution history is acquired by referring to the application stack information used by the process at the time of operation. For example, the operating system manages the function execution history by the process as the operation information. It is good also as a structure which acquires the execution history of a function from information.
さらに、本実施例では、動作異常判定をアプリケーションプログラムの一つである監視プログラム内にて実行し、休眠状態特定はオペレーティングシステムにて実行するように構成しているが、例えば動作異常判定と休眠状態判定をともに監視プログラム内で実行する、動作異常判定と休眠状態判定とをともにオペレーティングシステム内で実行する、など任意の構成によって実施することができる。 Furthermore, in this embodiment, the operation abnormality determination is executed in the monitoring program which is one of the application programs, and the sleep state is specified by the operating system. It can be implemented by any configuration, such as executing both the state determination within the monitoring program and performing both the operation abnormality determination and the sleep state determination within the operating system.
さらに、本実施例においては、コンテキストスイッチを監視することでプロセスの休眠状態発生を検出する場合を例に説明を行なったが、プロセスの休眠状態発生の検出方法については任意の方法を用いることができる。 Furthermore, in the present embodiment, the case where the occurrence of the process sleep state is detected by monitoring the context switch has been described as an example. However, any method may be used as a method for detecting the process sleep state occurrence. it can.
以上のように、本発明にかかるコンピュータシステム、動作状態判定プログラムおよび動作状態判定方法は、アプリケーションの動作管理に有用であり、特に、アプリケーションプログラム休眠の原因特定に適している。 As described above, the computer system, the operation state determination program, and the operation state determination method according to the present invention are useful for application operation management, and are particularly suitable for specifying the cause of application program sleep.
1 コンピュータシステム
10 オペレーティングシステム
11 監視プログラム
12 監視対象アプリケーション
21 休眠状態特定部
21a 待ち状態特定部
22 動作情報管理部
30 監視処理部
31 アプリケーション監視部
31a 原因関数リスト更新部
32 動作異常判定部
33 動作異常時処理部
40 記憶部
41 原因関数リスト
42 アプリスタック情報
43 動作情報
DESCRIPTION OF
Claims (10)
前記アプリケーションプログラムによる関数の実行履歴を記憶する実行履歴記憶手段と、
前記関数の実行履歴を参照して休眠状態の原因となった関数を特定する休眠状態特定手段と、
を備えたことを特徴とするコンピュータシステム。 A computer system for executing an application program,
Execution history storage means for storing an execution history of the function by the application program;
A sleep state specifying means for specifying a function that causes a sleep state with reference to the execution history of the function;
A computer system comprising:
前記アプリケーションプログラムによる関数の実行履歴を記憶する記憶手順と、
前記関数の実行履歴を参照して休眠状態の原因となった関数を特定する休眠状態特定手順と、
をコンピュータに実行させることを特徴とする動作状態判定プログラム。 An operation state determination program for determining an operation state of an application program operating on a computer system,
A storage procedure for storing a function execution history by the application program;
A sleep state identification procedure for identifying a function that causes a sleep state with reference to the execution history of the function;
An operating state determination program that causes a computer to execute.
前記アプリケーションプログラムによる関数の実行履歴を記憶する記憶工程と、
前記関数の実行履歴を参照して休眠状態の原因となった関数を特定する休眠状態特定工程と、
を含んだことを特徴とする動作状態判定方法。 An operation state determination method for determining an operation state of an application program operating on a computer system,
A storage step of storing a function execution history by the application program;
A sleep state identification step for identifying a function that causes a sleep state with reference to the execution history of the function;
The operation state determination method characterized by including.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005325236A JP4562641B2 (en) | 2005-11-09 | 2005-11-09 | Computer system, operation state determination program, and operation state determination method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005325236A JP4562641B2 (en) | 2005-11-09 | 2005-11-09 | Computer system, operation state determination program, and operation state determination method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007133604A true JP2007133604A (en) | 2007-05-31 |
JP4562641B2 JP4562641B2 (en) | 2010-10-13 |
Family
ID=38155219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005325236A Expired - Fee Related JP4562641B2 (en) | 2005-11-09 | 2005-11-09 | Computer system, operation state determination program, and operation state determination method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4562641B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014228889A (en) * | 2013-05-17 | 2014-12-08 | 富士通株式会社 | Performance information collection program, information processing device, and performance information collection method |
JP2015088068A (en) * | 2013-10-31 | 2015-05-07 | 富士通株式会社 | Information processing device, method for analyzing information processing device, and program for analyzing information processing device |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002215428A (en) * | 2001-01-17 | 2002-08-02 | Nissin Electric Co Ltd | Device and method for monitoring task and recording medium with the method recorded thereon |
JP2004310514A (en) * | 2003-04-08 | 2004-11-04 | Hitachi Ltd | Information processing terminal and history information saving method |
-
2005
- 2005-11-09 JP JP2005325236A patent/JP4562641B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002215428A (en) * | 2001-01-17 | 2002-08-02 | Nissin Electric Co Ltd | Device and method for monitoring task and recording medium with the method recorded thereon |
JP2004310514A (en) * | 2003-04-08 | 2004-11-04 | Hitachi Ltd | Information processing terminal and history information saving method |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014228889A (en) * | 2013-05-17 | 2014-12-08 | 富士通株式会社 | Performance information collection program, information processing device, and performance information collection method |
JP2015088068A (en) * | 2013-10-31 | 2015-05-07 | 富士通株式会社 | Information processing device, method for analyzing information processing device, and program for analyzing information processing device |
Also Published As
Publication number | Publication date |
---|---|
JP4562641B2 (en) | 2010-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8250543B2 (en) | Software tracing | |
US7774636B2 (en) | Method and system for kernel panic recovery | |
US20070028240A1 (en) | Information processing method and information processing apparatus for processing a plurality of threads | |
CN100432949C (en) | Method and device for storing user data on computer when software crashing | |
US20160140164A1 (en) | Complex event processing apparatus and complex event processing method | |
US20050283673A1 (en) | Information processing apparatus, information processing method, and program | |
CN110879742B (en) | Method, device and storage medium for asynchronously creating internal snapshot by virtual machine | |
JP2006277115A (en) | Abnormality detection program and abnormality detection method | |
JP2008310748A (en) | Task execution time recording device, task execution time recording method, and task execution recording program | |
JP2010086364A (en) | Information processing device, operation state monitoring device and method | |
US7752496B2 (en) | Method, apparatus, and computer product for managing log data | |
US7975176B2 (en) | Application failure recovery | |
JP2009176146A (en) | Multi-processor system, failure detecting method and failure detecting program | |
JP4562641B2 (en) | Computer system, operation state determination program, and operation state determination method | |
US9778981B2 (en) | Microcontroller | |
CN115495278B (en) | Exception repair method, device and storage medium | |
JPH02294739A (en) | Fault detecting system | |
JP2010250372A (en) | Trace data recording method and computer system | |
JP5365273B2 (en) | Information processing system, monitoring method, and monitoring program | |
US10540222B2 (en) | Data access device and access error notification method | |
JP2012108848A (en) | Operation log collection system and program | |
CN112035292A (en) | Method, device and equipment for processing data writing exception and storage medium | |
US7934067B2 (en) | Data update history storage apparatus and data update history storage method | |
US20140115317A1 (en) | Electronic device and method for switching work mode of the electronic device | |
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: 20080723 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100409 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100511 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100709 |
|
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: 20100727 |
|
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: 20100727 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130806 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140806 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |