JP5709713B2 - アプリケーション監視装置 - Google Patents
アプリケーション監視装置 Download PDFInfo
- Publication number
- JP5709713B2 JP5709713B2 JP2011212629A JP2011212629A JP5709713B2 JP 5709713 B2 JP5709713 B2 JP 5709713B2 JP 2011212629 A JP2011212629 A JP 2011212629A JP 2011212629 A JP2011212629 A JP 2011212629A JP 5709713 B2 JP5709713 B2 JP 5709713B2
- Authority
- JP
- Japan
- Prior art keywords
- monitoring
- application
- heart sound
- unit
- application program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
また、例えば特許文献2に示されるように、監視アプリケーションによって他のアプリケーションの異常を検出し、再起動を行うようにしたものがあった。
そこで、ソフトウェアの異常を検出することが必要となるが、ソフトウェアの異常をより早く発見するには監視の頻度を上げなければならず、監視のために本来の機能が正常に動作しないほどリソースが使われると本末転倒となってしまう問題があった。
また、この発明に係るアプリケーション監視装置は、オペレーティングシステム上で実行される複数のアプリケーションプログラムの実行を監視するアプリケーション監視装置であって、複数のアプリケーションプログラムのそれぞれに対応して設けられ、自アプリケーションプログラムが正常に動作していることを示す心音を発生する心音発生部と、自アプリケーションプログラム以外の監視対象とする特定のアプリケーションプログラムの心音を監視する監視部と、心音発生部における心音の発生タイミングを変更する心音変更部とを備えたものである。
また、この発明のアプリケーション監視装置は、心音発生部における心音の発生タイミングを変更する心音変更部とを備えたので、適切なオーバヘッドで動作し、アプリケーションの異常発生を容易に判断することができる。
図1は、この発明の実施の形態1によるアプリケーション監視最適化装置を適用するコンピュータシステムの階層構造を示す説明図である。
図示のように、コンピュータシステムは、ハードウェアプラットフォーム(H/W)101上でオペレーティングシステム(OS)102が動作し、このオペレーティングシステム102上でアプリケーション103が動作するよう構成されている。ハードウェアプラットフォーム101は、オペレーティングシステム102やアプリケーション103を実行するためのCPUやメモリといったハードウェアを示している。オペレーティングシステム102は、アプリケーション103の動作を管理するソフトウェアである。アプリケーション103は、各種の処理を行うアプリケーションプログラム(ソフトウェア)であり、それぞれのアプリケーション103は通信機能104を備えて、一つのアプリケーション103が他のアプリケーション103を監視するよう構成されている。このようにすることにより、すべてのアプリケーション103が同時に異常状態になる場合を除いて、アプリケーション103間で異常を判断し、アプリケーション103を再起動することが可能となる。
それぞれのアプリケーション103は、アプリケーション本体部200、監視部201、心音発生部202、心音タイミング変更部203、監視変更部204を備えている。アプリケーション本体部200は、アプリケーション103としての各種の処理を行う本体部分である。監視部201は、アプリケーション103の中でアプリケーション本体部200とは独立に定期的に動作する機能であって、監視対象となる一つのアプリケーションが正常に動作しているか(生存しているか)の状態を監視する機能部である。即ち、監視部201は、自アプリケーション103以外の監視対象とする特定のアプリケーション103の心音を監視するものである。心音発生部202は、そのアプリケーション103において、アプリケーション本体部200自身が正常に動作していることを示す心音機能である。この心音機能とは、ハードウェアなどで実装する所謂ウォッチドッグタイマと同様で、一定の動作の中で必ず心音を発生するという動作をするようにプログラムは作成される。即ち、心音動作を一定時間行わなかった場合に、そのアプリケーション103が異常であると判断するために利用する機能である。
図3は、アプリケーション本体部200が実行する処理の一例を示すフローチャートである。例えば、ステップST301で、処理を行うのに先立ち、心音発生部202への呼び出しを行う。その後、ステップST302で、本来のアプリケーション本体部200の動作に戻る。また、特定のポイントで心音発生部202の呼び出しを行うのがステップST303である。ステップST303で心音発生部202の呼び出しを行った後に、ステップST304で再びアプリケーション本体部200本来の処理に戻る。ステップST305では関数呼び出しが入り、呼び出し先のステップST306の入り口とステップST308の出口で再び心音発生部202の呼び出しを行う。ステップST307では関数本来の処理を行い、関数の処理が終わるとステップST309でアプリケーション本体部200本来の処理に戻る。
ステップST401で頻度確認処理を行う。これは、例えば頻度のレベル1であれば毎回この機能を呼び出された場合はステップST402でのデータのアップデート処理を行う。レベル2であれば2回に1回のみデータのアップデート処理を行い、自分の呼び出された回数だけは覚えておいて、偶数回目の呼び出しであれば何もしないで、自分の呼び出された回数の情報だけをアップデートして処理を終える。また、頻度のレベルは、心音タイミング変更部203で管理しており、この頻度のレベルによって心音発生タイミングを変更する。
アプリケーション本体部200から監視部201が呼び出されると、ステップST501で監視部201はアプリケーション本体部200とは独立に別のプロセスまたはプログラムとして動作する。
呼び出された処理はステップST509で呼び出し元に戻る。一方、別に作られた監視プログラム(プロセス)はステップST502以下を実行する。
ステップST503では監視間隔を設定する。これは心音の発生間隔に対応して適切な値を設定する。例えば、監視間隔としては、心音が発生する最小間隔のN倍以上で、かつ、最大間隔のN倍以下(Nは正の整数)の値とする。
ステップST505で監視の間隔時間のスリープ状態に入る。スリープ状態から抜けると、再度ステップST506で、ステップST504と同様に監視先の情報を取得する。ここで、ステップST504と違う状態になっていたら監視先のアプリケーション103が正常に動作していることを意味する。その場合は、ステップST507で正常と判断し、再びステップST505に戻り、次の間隔までスリープする。
図7のフローチャートにおいて、ステップST701,ST705は、図4に示した処理と同様である。このような心音機能であるステップST701、ST705にさらに、心音機能を実行する直前に、正規の呼び出し元から呼び出されたものかどうか、即ち暴走によって呼ばれたものであるのかどうかを判定する。
ステップST704において、正規のところから呼び出しを受けたかどうかを判定し、誤っていた場合には処理をせずに終了する。あるいは、心音機能を呼び出す際に、あるメモリのビットフラグをオンにしておいて、心音機能が呼び出されると、ステップST702でスタック上の呼び出し元の情報を見るのではなく、対象とするメモリのビットフラグのオンオフを確認したうえで、フラグをオフにする。
ステップST801でCPU使用率を取得する。これは、オペレーティングシステム102の基本機能を利用して取得すれば良い。オペレーティングシステム102にはアプリケーション103のCPU使用率を提供するインタフェースが備えられているものが多い。
Claims (11)
- オペレーティングシステム上で実行される複数のアプリケーションプログラムの前記実行を監視するアプリケーション監視装置であって、
前記複数のアプリケーションプログラムのそれぞれに対応して設けられ、
自アプリケーションプログラムが正常に動作していることを示す心音を発生する心音発生部と、
自アプリケーションプログラム以外の監視対象とする特定のアプリケーションプログラムの心音を監視する監視部とを備え、
前記心音発生部は、アプリケーションプログラムが正常に動作している場合の呼び出し元を正規の呼び出し元として管理し、当該正規の呼び出し元から呼ばれていることが確認できた場合に処理を実行することを特徴とするアプリケーション監視装置。 - オペレーティングシステム上で実行される複数のアプリケーションプログラムの前記実行を監視するアプリケーション監視装置であって、
前記複数のアプリケーションプログラムのそれぞれに対応して設けられ、
自アプリケーションプログラムが正常に動作していることを示す心音を発生する心音発生部と、
自アプリケーションプログラム以外の監視対象とする特定のアプリケーションプログラムの心音を監視する監視部と、
前記心音発生部における心音の発生タイミングを変更する心音変更部とを備えたことを特徴とするアプリケーション監視装置。 - 前記心音変更部は、前記心音発生部が呼び出された場合に、所定回数に一回の割合で心音を発生させるよう制御することで心音発生タイミングを変更することを特徴とする請求項2記載のアプリケーション監視装置。
- 前記心音発生タイミングは、予め設定された心音発生頻度レベルに応じて決定されていることを特徴とする請求項3記載のアプリケーション監視装置。
- 前記心音発生部は、前記自アプリケーションプログラムが所定の処理を行う毎に呼び出されることを特徴とする請求項1から請求項4のうちのいずれか一項記載のアプリケーション監視装置。
- 前記心音発生部は、他のアプリケーションプログラムからアクセスできる領域のメモリにフラグを書き込むか、または、前記領域の値を前回の値から変更することで正常動作を示すことを特徴とする請求項1から請求項5のうちのいずれか一項記載のアプリケーション監視装置。
- 前記監視部は、一定の間隔で周期的に監視動作を行うことを特徴とする請求項1から請求項6のうちのいずれか一項記載のアプリケーション監視装置。
- 前記監視部は、前記監視対象とする特定のアプリケーションプログラムが正常に動作していないと判断した場合は、当該アプリケーションプログラムを再起動することを特徴とする請求項1から請求項7のうちのいずれか一項記載のアプリケーション監視装置。
- 前記監視部の監視タイミングを変更する監視変更部を備え、
前記監視変更部は、監視タイミングの変更として監視周期を変更することを特徴とする請求項1から請求項8のうちのいずれか一項記載のアプリケーション監視装置。 - 前記監視部は、前記監視対象とする特定のアプリケーションプログラムの心音発生間隔に応じた監視間隔で監視を行うことを特徴とする請求項1から請求項9のうちのいずれか一項記載のアプリケーション監視装置。
- 前記監視間隔は、前記心音発生間隔における最小間隔のN倍以上で、かつ、最大間隔のN倍以下(Nは正の整数)の値とすることを特徴とする請求項10記載のアプリケーション監視装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011212629A JP5709713B2 (ja) | 2011-09-28 | 2011-09-28 | アプリケーション監視装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011212629A JP5709713B2 (ja) | 2011-09-28 | 2011-09-28 | アプリケーション監視装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013073456A JP2013073456A (ja) | 2013-04-22 |
JP5709713B2 true JP5709713B2 (ja) | 2015-04-30 |
Family
ID=48477898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011212629A Expired - Fee Related JP5709713B2 (ja) | 2011-09-28 | 2011-09-28 | アプリケーション監視装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5709713B2 (ja) |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2870250B2 (ja) * | 1991-09-20 | 1999-03-17 | 富士電機株式会社 | マイクロプロセッサの暴走監視装置 |
JP2000215074A (ja) * | 1999-01-26 | 2000-08-04 | Fujitsu Ltd | システムの運用方式及び障害自動復旧方式 |
JP2001101033A (ja) * | 1999-09-27 | 2001-04-13 | Hitachi Ltd | オペレーティングシステム及びアプリケーションプログラムの障害監視方法 |
JP2001101032A (ja) * | 1999-09-29 | 2001-04-13 | Hitachi Ltd | 異種os間制御によるos監視方式 |
JP3690666B2 (ja) * | 2001-12-18 | 2005-08-31 | 株式会社日立製作所 | マルチコンピュータシステム |
JP2004206634A (ja) * | 2002-12-26 | 2004-07-22 | Osaka Gas Co Ltd | 監視方法、稼動監視装置、監視システム及びコンピュータプログラム |
JP2007257395A (ja) * | 2006-03-24 | 2007-10-04 | Meidensha Corp | アプリケーションの異常監視方法 |
WO2008126325A1 (ja) * | 2007-03-30 | 2008-10-23 | Fujitsu Limited | クラスタシステム、ソフトウェア更新方法、サービス提供ノード、およびサービス提供用プログラム |
JP4660604B2 (ja) * | 2009-05-28 | 2011-03-30 | 株式会社東芝 | 情報処理装置および環境設定方法 |
-
2011
- 2011-09-28 JP JP2011212629A patent/JP5709713B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2013073456A (ja) | 2013-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6305976B2 (ja) | コンピューティング装置に対するネットワーク駆動のウェイクアップ操作の実行期間中においてパケットを遅延させる方法、装置およびシステム | |
JP4960364B2 (ja) | ハードウェア支援されたデバイス設定検出 | |
CN103593292A (zh) | 调试程序的系统及方法 | |
CN110502377B (zh) | 一种基于cpld的重启测试方法 | |
JP2017521768A (ja) | 耐性があるメモリストレージを伴うファームウェアインターフェイス | |
Lin et al. | Improving the accuracy of automated GUI testing for embedded systems | |
US9632938B2 (en) | Method and apparatus for pushing memory data | |
US12026523B1 (en) | Dynamically-updatable deep transactional monitoring systems and methods | |
JP2017527133A (ja) | 消費電力を低減する方法及び装置並びにモバイル端末 | |
TWI604336B (zh) | 使用外部裝置之運行時驗證技術 | |
JP3866749B2 (ja) | マイクロプロセッサ | |
CN111341380A (zh) | Ssd控制器复位的测试方法、装置和计算机设备 | |
JP2006079345A (ja) | マイクロコンピュータ | |
JP5709713B2 (ja) | アプリケーション監視装置 | |
JP5561791B2 (ja) | 情報処理装置、情報処理方法、及び情報処理プログラム | |
US20100318973A1 (en) | Method and apparatus for providing dynamic activation of virtual platform sub-modules | |
JP2008225807A (ja) | 制御装置およびそのプログラム暴走監視方法 | |
JP2016081204A (ja) | 電子制御装置 | |
US10592329B2 (en) | Method and electronic device for continuing executing procedure being aborted from physical address where error occurs | |
CN109032835B (zh) | 软件再生方法与装置 | |
JP2010140233A (ja) | エミュレーションシステム及びエミュレーション方法 | |
JP2008140124A (ja) | データ処理装置 | |
JP7537805B2 (ja) | チップモニタリング方法及び装置 | |
JP6090057B2 (ja) | 状態情報記録装置及びプログラム | |
JPWO2012056611A1 (ja) | 可用性モデル生成装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20131212 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140717 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140722 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140919 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141104 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141226 |
|
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: 20150203 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150303 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5709713 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |