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 PDF

Info

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
Application number
JP2005325236A
Other languages
Japanese (ja)
Other versions
JP4562641B2 (en
Inventor
Seiki Yamashita
清貴 山下
Koreya Ishioka
之也 石岡
Jiro Okamoto
二朗 岡本
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.)
Denso Ten Ltd
Fujitsu Ltd
Original Assignee
Denso Ten Ltd
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 Denso Ten Ltd, Fujitsu Ltd filed Critical Denso Ten Ltd
Priority to JP2005325236A priority Critical patent/JP4562641B2/en
Publication of JP2007133604A publication Critical patent/JP2007133604A/en
Application granted granted Critical
Publication of JP4562641B2 publication Critical patent/JP4562641B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To identify a cause of occurrence of dormancy of an application program. <P>SOLUTION: A cause function list update section 31a stores a function having the possibility of causing a process dormant state as a cause function list 41, and an operation abnormality determination section 32 determines the operation abnormality of a process. Furthermore, if the process is in a dormant state, application stack information 42 in which the function execution history of the process is recorded, and the cause function list 41 are compared so as to identify which function has caused the process dormancy. <P>COPYRIGHT: (C)2007,JPO&INPIT

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, Patent Document 1 records a context immediately before a process generated by an application program calls a function, and when an abnormality occurs after function execution, the recorded context is written back to the CPU, and the original A technique for executing an alternative function in which a specific function is omitted instead of a function is disclosed.

特開2001−109635号公報JP 2001-109635 A

しかしながら上述した従来の技術では、どのような関数が呼び出されて異常に至ったかという履歴を考慮していないため、例えば最後から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 claim 1 is a computer system for executing an application program, and an execution history storage means for storing a function execution history by the application program And a sleep state specifying means for specifying a function that causes a sleep state with reference to the execution history of the function.

この請求項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 claim 10 is an operation state determination method for determining an operation 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 step of specifying a function causing the sleep state with reference to the function execution history.

この請求項10の発明によれば動作状態判定方法は、アプリケーションプログラムによる関数の実行履歴を記憶し、関数の実行履歴を参照して休眠状態の原因となった関数を特定する。   According to the invention of claim 10, the operation state determination method stores the function execution history by the application program, and identifies the function causing the sleep state by referring to the function execution history.

請求項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 claim 10, the operation state determination method 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 method capable of specifying the cause of the occurrence of sleep.

以下に添付図面を参照して、この発明に係るコンピュータシステム、動作状態判定プログラムおよび動作状態判定方法の好適な実施例について詳細に説明する。   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 computer system 1 according to an embodiment of the present invention. As shown in the figure, in the computer system 1, an operating system 10, a monitoring program 11, and a monitoring target application 12 are operating.

オペレーティングシステム10は、そのソフトウェア機能として休眠状態特定部21および動作情報管理部22を有する。また、監視プログラム20は、そのソフトウェア機能として監視処理部30を有し、監視処理部30は、その内部にアプリケーション監視部31、動作異常判定部32および動作異常時処理部33を有する。   The operating system 10 includes a sleep state specifying unit 21 and an operation information management unit 22 as its software functions. The monitoring program 20 includes a monitoring processing unit 30 as its software function, and the monitoring processing unit 30 includes an application monitoring unit 31, an operation abnormality determination unit 32, and an operation abnormality processing unit 33 therein.

記憶部40はメモリなどの記録媒体であり、オペレーティングシステム10、監視プログラム11、監視対象アプリケーション12がそれぞれ情報の記憶に使用する。   The storage unit 40 is a recording medium such as a memory, and is used by the operating system 10, the monitoring program 11, and the monitoring target application 12 for storing information.

監視対象アプリケーション12は、オペレーティングシステム10に管理されるとともに、監視プログラム11による監視を受ける任意のアプリケーションプログラムである。この監視対象アプリケーション12は、動作時にプログラム実行単位であるプロセス(もしくはスレッド)を生成する。   The monitoring target application 12 is an arbitrary application program managed by the operating system 10 and monitored by the monitoring program 11. The monitoring target application 12 generates a process (or thread) that is a program execution unit during operation.

生成されたプロセスは複数の関数を順次実行し、各関数をアプリスタック情報42として記憶部40に退避する。すなわち、アプリスタック情報42は、プロセスの関数実行履歴を格納することとなる。またプロセスに関する情報を示す動作情報43は、オペレーションシステム10がプロセス管理に使用するため記憶部40に格納される。   The generated process sequentially executes a plurality of functions and saves each function in the storage unit 40 as application stack information 42. That is, the application stack information 42 stores the function execution history of the process. In addition, operation information 43 indicating information regarding the process is stored in the storage unit 40 for the operation system 10 to use for process management.

アプリケーション監視部31は、監視対象アプリケーション12の動作状態を監視する。また、アプリケーション監視部31は、その内部に原因関数リスト更新部31aを有する。   The application monitoring unit 31 monitors the operation state of the monitoring target application 12. In addition, the application monitoring unit 31 includes a cause function list update unit 31a.

原因関数リスト更新部31aは、記憶部40が記憶する原因関数リスト41の内容を更新する処理を行なう。原因関数リスト41は、プロセスが実行する関数のうち、休眠状態の原因となりえる関数のリストである。ここで、原因関数リスト41に含む必要のある関数は、どのような監視対象アプリケーションが動作しているかによって変化する。   The cause function list update unit 31a performs a process of updating the contents of the cause function list 41 stored in the storage unit 40. The cause function list 41 is a list of functions that can cause a sleep state among functions executed by a process. Here, the functions that need to be included in the cause function list 41 vary depending on what type of monitoring target application is operating.

例えば、コンピュータシステム1にUSBデバイスが接続されており、USBデバイスの入出力を管理するUSBドライバが管理対象アプリケーション12として動作しているならば、USBデバイスの入出力に関係する関数がUSBドライバの休眠原因となる可能性があるので、原因関数リスト40に登録する必要がある。   For example, if a USB device is connected to the computer system 1 and a USB driver that manages the input / output of the USB device is operating as the management target application 12, a function related to the input / output of the USB device is the function of the USB driver. Since it may cause sleep, it is necessary to register in the cause function list 40.

しかし、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 cause function list 40.

そこで、原因関数リスト更新部31aは、監視対象アプリケーション12の動作状態やハードウェアの接続状態の変化に基づいて原因関数リスト41の内容を適宜更新している。   Therefore, the cause function list update unit 31a appropriately updates the contents of the cause function list 41 based on changes in the operation state of the monitoring target application 12 and the hardware connection state.

動作異常判定部32は、監視対象アプリケーション12に属するプロセスの動作情報43に基づいて各プロセスに動作異常があるか否かを判定することにより監視対象アプリの動作異常を検出する。   The operation abnormality determination unit 32 detects an operation abnormality of the monitoring target application by determining whether each process has an operation abnormality based on the operation information 43 of the process belonging to the monitoring target application 12.

具体的には、動作異常判定部32は、所定のタイミングで動作情報管理部22に動作情報取得要求をおこなう。動作情報管理部22は、この要求に応えて記憶部40から動作情報43を読み出して動作異常判定部32に渡す。動作異常判定部32は、取得した動作情報43から「無限ループ」「CPU待ち状態」「I/O待ち状態」などの動作異常が監視対象アプリケーション12に生じているか否かを判定する。   Specifically, the operation abnormality determination unit 32 makes an operation information acquisition request to the operation information management unit 22 at a predetermined timing. In response to this request, the operation information management unit 22 reads the operation information 43 from the storage unit 40 and passes it to the operation abnormality determination unit 32. The operation abnormality determination unit 32 determines whether an operation abnormality such as “infinite loop”, “CPU waiting state”, or “I / O waiting state” has occurred in the monitoring target application 12 from the acquired operation information 43.

ここで「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 abnormality determination unit 32 specifies the memory used as the application stack information 42 by the process in the sleep state, and the sleep state specification unit 21 To output the sleep state specific request.

休眠状態特定部21は、休眠状態の特定要求を受けた場合に、原因関数リスト41およびアプリスタック情報42を用いて休眠状態の原因となった関数を特定する。さらに、休眠状態特定部21内部の待ち状態特定部21aは、動作異常に陥った監視対象アプリケーション12の待ち状態の種類を特定する。そして休眠状態特定部21は、休眠状態の原因となった関数や、監視対象アプリケーション12の待ち状態の種類を動作異常判定部32に報告する。   When receiving the sleep state specification request, the sleep state specifying unit 21 uses the cause function list 41 and the application stack information 42 to specify the function that caused the sleep state. Furthermore, the waiting state specifying unit 21a in the dormant state specifying unit 21 specifies the type of waiting state of the monitoring target application 12 that has experienced an abnormal operation. Then, the sleep state specifying unit 21 reports to the operation abnormality determination unit 32 the function that caused the sleep state and the type of the wait state of the monitoring target application 12.

動作異常時処理部33は、動作異常判定部32が動作異常であると判定した場合に、その異常の種類、またプロセスが休眠状態である場合には休眠状態の原因となった関数や待ち状態の種類に基づいて、該当する監視対象アプリケーション12の終了処理や、エラー表示処理などをおこなう。   When the operation abnormality determining unit 32 determines that the operation is abnormal, the operation abnormality time processing unit 33 is the type of the abnormality, and if the process is in the sleep state, the function or wait state that causes the sleep state. Based on the type, the termination processing of the corresponding monitoring target application 12 or error display processing is performed.

このようにコンピュータシステム1では、プロセスが休眠状態となったことを検知した場合にそのプロセスの関数実行履歴から、どの関数がプロセス休眠の原因となったかを特定することができる。   As described above, when the computer system 1 detects that the process has entered the sleep state, it can identify which function caused the process sleep from the function execution history of the process.

つづいて、動作異常判定部32による異常判定処理についてさらに説明する。まず、異常の判定において用いられる動作情報と、かかる動作情報に基づいて判定される異常種別との関係を図2に示す。動作異常判定部32による異常判定処理では、CPU上で動作するプロセスの切り替え(以下、「コンテキストスイッチ」と言う)に着目し、コンテキストスイッチ回数の変化と異常種別との関係を用いて監視対象アプリの動作異常を検出する。   Subsequently, the abnormality determination process by the operation abnormality determination unit 32 will be further described. First, FIG. 2 shows the relationship between the operation information used in abnormality determination and the abnormality type determined based on the operation information. In the abnormality determination process by the operation abnormality determination unit 32, paying attention to switching of processes operating on the CPU (hereinafter referred to as “context switch”), the monitoring target application is used using the relationship between the change in the number of context switches and the abnormality type. Detects abnormal 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 cause function list 41 will be described with reference to FIG. As shown in the figure, the cause function list 41 stores “waiting state factor”, “function”, and “address” in association with each other.

「関数」の項目は、「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 storage unit 40. It is information which shows.

また、「待ち状態要因」は、その関数が原因となってプロセス休眠状態となった場合に、監視対象アプリケーション12がどのような待ち状態となるかを示す情報である。たとえば、関数「usb_read」が原因となったプロセス休眠状態では、「待ち状態要因」が「USB」であり、監視対象アプリケーション12は「USB異常」による待ち状態(たとえば、USBに接続した機器が応答しないために応答待ちで止まっている状態)に陥る。同様に、関数「hdd_write」」が原因となったプロセス休眠状態では、「待ち状態要因」が「HDD」であり、監視対象アプリケーション12は「HDD異常」による待ち状態(たとえば、HDDの物理的なクラッシュやデータの破損などにより、データが正しく読み書きできず、応答待ちで止まっている状態)に陥る。   The “waiting state factor” is information indicating what waiting state the monitoring target application 12 will enter when the process enters the process sleep state due to the function. For example, in the process sleep state caused by the function “usb_read”, the “wait state factor” is “USB”, and the monitoring target application 12 is in a wait state due to “USB abnormality” (for example, a device connected to the USB responds) To stop waiting for a response. Similarly, in the process sleep state caused by the function “hdd_write”, the “waiting state factor” is “HDD”, and the monitoring target application 12 is in a waiting state due to “HDD abnormality” (for example, the physical state of the HDD Due to a crash or data corruption, the data cannot be read or written correctly and is stuck waiting for a response.

つぎに、プロセスによる関数の実行とアプリスタック情報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 cause function list 41, the last executed function can be specified as the cause function of process sleep.

一方、最後に実行された関数がアプリスタック情報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 cause function list 41 is searched using the previous function as a key.

このように、最後に実行した関数から順に原因関数リスト41を検索し、原因関数リスト41に登録された関数が見つかるまで遡ることで、プロセス休眠の原因関数を特定することができる。なお、関数を遡る際には、アプリスタック情報42の各関数が使用しているメモリ領域に格納したリターンレジスタおよびフレームポインタ(一つ前の関数が使用しているメモリ領域の先頭アドレスを示す情報)を使用すればよい。   In this way, the cause function list 41 is searched in order from the last executed function, and the cause function of the process sleep can be identified by going back to the function registered in the cause function list 41. When the function is traced, the return register and frame pointer stored in the memory area used by each function of the application stack information 42 (information indicating the start address of the memory area used by the previous function) ).

つぎに、コンピュータシステム1の処理動作について図5のフローチャートを参照して説明する。同図に示す処理フローは、監視プログラム11によって定期的に実行される。   Next, the processing operation of the computer system 1 will be described with reference to the flowchart of FIG. The processing flow shown in the figure is periodically executed by the monitoring program 11.

この処理フローが開始されると、まず、動作異常判定部32が動作情報43を取得する(ステップS101)。そして、取得した動作情報43を用いてプロセスの動作異常を判定する(ステップS102)。   When this processing flow is started, first, the operation abnormality determination unit 32 acquires the operation information 43 (step S101). Then, the process operation abnormality is determined using the acquired operation information 43 (step S102).

その結果、動作異常プロセスが存在しない場合には(ステップ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 operation processing unit 33 performs the termination process of the corresponding monitoring target application 12 based on the content of the abnormal operation, An abnormal process such as an error display process is executed (step S106), and the process is terminated.

つづいて、休眠状態特定部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 cause function list 41 using the read function as a key. (Step S202).

その結果、読み出した関数が原因関数リスト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 cause function list 41 is searched using the read function as a key (step S202). ).

そして、読み出した関数が原因関数リスト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 cause function list 41, and the process enters the sleep state. If the application stack information 42 in which the function execution history of the process is recorded is compared with the cause function list 41, it is possible to specify which function causes the process sleep.

このように、プロセス休眠の原因を関数レベルで特定することによって、他のアプリケーションへの影響を最小限に抑えて休眠状態の復旧を行なうことができる。そのため、車載用のシステム、カーナビゲーション装置や車両の動作制御装置など、高い安定性が必要なシステムに適している。   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 is a schematic configuration diagram showing a schematic configuration of a computer system according to an embodiment of the present invention. 動作情報と異常種別との関係を示す図である。It is a figure which shows the relationship between operation information and abnormality classification. 図1に示した原因関数リストの具体例について説明する説明図である。It is explanatory drawing explaining the specific example of the cause function list | wrist shown in FIG. プロセスによる関数の実行とアプリスタック情報との関係について説明する説明図である。It is explanatory drawing explaining the relationship between execution of the function by a process, and application stack information. 図1に示したコンピュータシステムの処理動作について説明するフローチャートである。It is a flowchart explaining the processing operation of the computer system shown in FIG. 休眠状態特定処理について説明するフローチャートである。It is a flowchart explaining a dormant state specific process.

符号の説明Explanation of symbols

1 コンピュータシステム
10 オペレーティングシステム
11 監視プログラム
12 監視対象アプリケーション
21 休眠状態特定部
21a 待ち状態特定部
22 動作情報管理部
30 監視処理部
31 アプリケーション監視部
31a 原因関数リスト更新部
32 動作異常判定部
33 動作異常時処理部
40 記憶部
41 原因関数リスト
42 アプリスタック情報
43 動作情報
DESCRIPTION OF SYMBOLS 1 Computer system 10 Operating system 11 Monitoring program 12 Monitoring target application 21 Sleep state specific | specification part 21a Wait state specific | specification part 22 Operation | movement information management part 30 Monitoring processing part 31 Application monitoring part 31a Cause function list update part 32 Operation | movement abnormality determination part 33 Operation | movement abnormality Time processing unit 40 Storage unit 41 Cause function list 42 Application stack information 43 Operation information

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:
前記休眠状態の原因となりえる関数のリストを原因関数リストとして記憶する原因関数リスト記憶手段をさらに備え、前記休眠状態特定手段は、前記実行履歴記憶手段が記憶した関数が前記原因関数リストに存在する場合に、当該関数が前記休眠状態の原因であると特定することを特徴とする請求項1に記載のコンピュータシステム。   Causal function list storage means for storing a list of functions that can cause the sleep state as a cause function list, wherein the sleep state specifying means includes the function stored in the execution history storage means in the cause function list. The computer system according to claim 1, wherein the function is specified as the cause of the sleep state. 前記休眠状態特定手段は、前記実行履歴記憶手段が記憶した関数のうち、実行順序が後の関数から前記原因関数リストに存在するか否かの検索を順次実行し、原因関数リストに存在する関数を検出した時点で当該関数が前記休眠状態の原因であると特定することを特徴とする請求項2に記載のコンピュータシステム。   The sleep state specifying unit sequentially executes a search for whether or not the execution order is present in the cause function list from the functions stored in the execution history storage unit, and the functions existing in the cause function list. 3. The computer system according to claim 2, wherein the function is identified as the cause of the sleep state at the point of time when the signal is detected. 前記原因関数リストは、各関数と当該関数が原因である場合のアプリケーションプログラムの待ち状態の種類とを対応付けて記憶し、前記休眠状態特定手段は、休眠状態の原因である関数を特定した場合に、前記アプリケーションプログラムの待ち状態の種類をさらに特定することを特徴とする請求項2または3に記載のコンピュータシステム。   The cause function list stores each function and the type of wait state of the application program when the function is the cause in association with each other, and the sleep state specifying unit specifies the function that causes the sleep state 4. The computer system according to claim 2 or 3, further specifying the type of waiting state of the application program. 前記関数リスト記憶手段が記憶する関数の追加および/または削除を行なう原因関数リスト更新手段をさらに備えたことを特徴とする請求項2,3または4に記載のコンピュータシステム。   5. The computer system according to claim 2, further comprising cause function list update means for adding and / or deleting functions stored in the function list storage means. 前記原因関数リスト更新手段は、アプリケーションプログラムの動作状態の変化および/またはハードウェアの接続状態の変化に基づいて前記関数の追加および/または削除を実行することを特徴とする請求項5に記載のコンピュータシステム。   The said cause function list update means performs the addition and / or deletion of the said function based on the change of the operation state of an application program, and / or the change of the connection state of hardware. Computer system. コンピュータシステム上で動作するアプリケーションプログラムの動作状態を判定する動作状態判定プログラムであって、
前記アプリケーションプログラムによる関数の実行履歴を記憶する記憶手順と、
前記関数の実行履歴を参照して休眠状態の原因となった関数を特定する休眠状態特定手順と、
をコンピュータに実行させることを特徴とする動作状態判定プログラム。
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.
前記プログラム実行単位が休眠状態であるか否かを判定する判定手順をさらにコンピュータに実行させることを特徴とする請求項7に記載の動作状態判定プログラム。   The operation state determination program according to claim 7, further causing a computer to execute a determination procedure for determining whether or not the program execution unit is in a sleep state. 前記プログラム実行単位が休眠状態であるか否かを外部から取得することを特徴とする請求項7に記載の動作状態判定プログラム。   8. The operating state determination program according to claim 7, wherein whether or not the program execution unit is in a sleep state is acquired from the outside. コンピュータシステム上で動作するアプリケーションプログラムの動作状態を判定する動作状態判定方法であって、
前記アプリケーションプログラムによる関数の実行履歴を記憶する記憶工程と、
前記関数の実行履歴を参照して休眠状態の原因となった関数を特定する休眠状態特定工程と、
を含んだことを特徴とする動作状態判定方法。
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.
JP2005325236A 2005-11-09 2005-11-09 Computer system, operation state determination program, and operation state determination method Expired - Fee Related JP4562641B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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