JP2015079413A - プロセス監視システム、プロセス監視方法 - Google Patents

プロセス監視システム、プロセス監視方法 Download PDF

Info

Publication number
JP2015079413A
JP2015079413A JP2013217071A JP2013217071A JP2015079413A JP 2015079413 A JP2015079413 A JP 2015079413A JP 2013217071 A JP2013217071 A JP 2013217071A JP 2013217071 A JP2013217071 A JP 2013217071A JP 2015079413 A JP2015079413 A JP 2015079413A
Authority
JP
Japan
Prior art keywords
monitoring
process monitoring
monitoring means
monitored
unit
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
JP2013217071A
Other languages
English (en)
Other versions
JP5986974B2 (ja
Inventor
慎也 高田
Shinya Takada
慎也 高田
敏浩 元田
Toshihiro Motoda
敏浩 元田
淳哉 秋葉
Atsuya Akiba
淳哉 秋葉
剛 永吉
Takeshi Nagayoshi
剛 永吉
石本 英隆
Hidetaka Ishimoto
英隆 石本
隆宏 松村
Takahiro Matsumura
隆宏 松村
一凡 張
Yifan Zhang
一凡 張
勝彦 江口
Katsuhiko Eguchi
勝彦 江口
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2013217071A priority Critical patent/JP5986974B2/ja
Publication of JP2015079413A publication Critical patent/JP2015079413A/ja
Application granted granted Critical
Publication of JP5986974B2 publication Critical patent/JP5986974B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】監視対象プログラムへの影響が少ないながらも監視不能に陥ることを防ぐことのできるプロセス監視技術を提供する。
【解決手段】プロセス監視手段120iを監視対象プロセスに組み込まれるダイナミックリンクライブラリによって実現する。プロセス監視手段120iが、自己以外の一つのプロセス監視手段120i-1の動作状況を監視し、かつ、自分以外の一つのプロセス監視手段120i+1から自己の動作状況を監視されるように複数のプロセス監視手段の間の監視が構成されている。プロセス監視手段120iは、監視対象のプロセス監視手段120i-1の停止が検知された場合に、当該プロセス監視手段120iと同じプロセスツリーに含まれないように、停止したプロセス監視手段120i-1に対応する監視対象プログラム130i-1を実行する。
【選択図】図1

Description

本発明は、コンピュータシステム上のプロセスが何らかの理由によって終了した場合、システムの正常動作を担保するため、当該終了プロセスを再起動する、プロセス監視技術に関する。
コンピュータシステム上のプロセスを監視し、プロセスが不具合によって終了した場合や、悪意の第三者によって終了した場合などに、このイベントを捕捉して、終了したプロセスを再起動させるプロセス監視技術に関するニーズは、システム全体の正常運用管理や悪意の第三者によるシステムへの妨害行為の排除といった様々な利用形態が想定されることから、非常に高い(非特許文献1,2参照)。
安齋希美、"PostgreSQL多機能ミドルウェア pgpool-II 最新活用方法"、平成25年2月12日、SRA OSS, Inc. Japan、[平成25年10月9日検索]、インターネット〈URL: http://www.sraoss.co.jp/event_seminar/2013/20130212_pgpool_seminar_sraoss.pdf〉 北村雅人、"UNIX/NT サーバー 高信頼性確保のための方策"、2001年6月、株式会社シーエーシー技術レポート誌「SOFTECHS」Vol.24 No.1、[平成25年10月9日検索]、インターネット〈URL: http://www.cac.co.jp/softechs/pdf/st2401_05.pdf〉
従来のプロセス監視技術では、監視専用のプログラムを監視対象のプログラム(以下、監視対象プログラムという)に組み込まなくてはならず、監視対象プログラムの大きな改変が必要であるという課題があった。
また、通常、プロセスが他のプロセスを単純に生成した場合にはプロセスに親子関係ができるが、この場合、親プロセスを終了すると芋づる式にプロセスツリー全体が終了され、最悪の場合すべてのプロセスが終了してしまい、プロセスの監視と再起動が実施できなくなり監視不能に陥るという課題もあった。
本発明は、監視対象プログラムへの影響が少ないながらも監視不能に陥ることを防ぐことのできるプロセス監視技術を提供する。
本発明のプロセス監視技術は、複数の監視対象プログラムによるそれぞれのプロセスの死活を監視するプロセス監視技術であって、複数のプロセス監視手段のそれぞれが、複数の監視対象プログラムのうち対応する監視対象プロセスに組み込まれるダイナミックリンクライブラリによって実現されるものであり、各プロセス監視手段が、複数のプロセス監視手段のうち自己以外の少なくとも一つのプロセス監視手段の動作状況を監視し、かつ、複数のプロセス監視手段のうち自分以外の少なくとも一つのプロセス監視手段から自己の動作状況を監視されるように複数のプロセス監視手段の間の監視が構成されている。そして、各プロセス監視手段は、当該プロセス監視手段が起動した際に記憶手段にプロセス情報を保存しておき、各プロセス監視手段は、当該プロセス監視手段の監視対象であるプロセス監視手段の動作状況を監視する。さらに、各プロセス監視手段は、監視対象であるプロセス監視手段の停止が検知された場合に、記憶手段に登録されたプロセス情報を参照して、当該プロセス監視手段と同じプロセスツリーに含まれないように、停止したプロセス監視手段に対応する監視対象プログラムを実行する。
あるいは、本発明のプロセス監視技術は、複数の監視対象プログラムによるそれぞれのプロセスの死活を監視するプロセス監視技術であって、複数のプロセス監視手段のそれぞれが各監視対象プログラムから分離されているプログラムによって実現されるものであり、各プロセス監視手段が、複数のプロセス監視手段のうち自己以外の少なくとも一つのプロセス監視手段の動作状況を監視し、かつ、複数のプロセス監視手段のうち自分以外の少なくとも一つのプロセス監視手段から自己の動作状況を監視されるように複数のプロセス監視手段の間の監視が構成されている。そして、各プロセス監視手段は、当該プロセス監視手段が起動した際に記憶手段に、当該プロセス監視手段および当該プロセス監視手段の監視対象である監視対象プログラムによるプロセスのそれぞれのプロセス情報を保存しておき、各プロセス監視手段は、当該プロセス監視手段の監視対象であるプロセス監視手段の動作状況および当該プロセス監視手段の監視対象である監視対象プログラムによるプロセスの死活を監視する。さらに、各プロセス監視手段は、監視対象であるプロセス監視手段または監視対象プログラムによるプロセスの停止が検知された場合に、記憶手段に登録されたプロセス情報を参照して、当該プロセス監視手段と同じプロセスツリーに含まれないように、停止したプロセス監視手段または監視対象プログラムによるプロセスを再起動する。
本発明によると、プロセス監視手段が、監視対象プロセスに組み込まれるダイナミックリンクライブラリあるいは監視対象プロセスから独立したプログラムによって実現され、さらに、停止したプロセスの再起動を起動元のプロセスと同じプロセスツリーに含まれないようにしているため、監視対象プログラムへの影響が少ないながらも監視不能に陥ることを防ぐことができる。
第1実施形態のシステム構成例を示す図。 プロセスの親子関係の分断を説明する図。 第2実施形態のシステム構成例を示す図。
<第1実施形態>
第1実施形態のプロセス監視システム100は、N個(ただし、Nは2以上の予め定められた整数である)の監視対象プログラム1301,1302,…,130N-1,130Nによるそれぞれのプロセスの死活を監視するシステムであり、記憶手段であるレジストリ110と、N個のプロセス監視手段1201,1202,…,120N-1,120Nを含んでいる。N個のプロセス監視手段1201,1202,…,120N-1,120Nはそれぞれレジストリ110にアクセス可能に構成されている。
なお、本明細書におけるレジストリとの呼称は、特定のオペレーティングシステムを前提とするものではなく、アプリケーションが使用する記憶領域を一般的に指すものとする。
プロセス監視手段1201,1202,…,120N-1,120Nはそれぞれ、プロセス監視手段1201,1202,…,120N-1,120Nのうち自己以外の少なくとも一つのプロセス監視手段の動作状況を監視し、かつ、プロセス監視手段1201,1202,…,120N-1,120Nのうち自分以外の少なくとも一つのプロセス監視手段から自己の動作状況を監視されるように、プロセス監視手段1201,1202,…,120N-1,120Nの間の監視が構成されている。
つまり、任意のプロセス監視手段120i(i∈{1,2,…,N-1,N})は、少なくとも一つのプロセス監視手段120j(j∈{1,2,…,N-1,N}-{i})の動作状況を監視し、かつ、少なくとも一つのプロセス監視手段120k(k∈{1,2,…,N-1,N}-{i})から自己(つまりプロセス監視手段120i)の動作状況を監視される。
図1に示す例では、任意のプロセス監視手段と当該プロセス監視手段の監視対象となるプロセス監視手段との間に、プロセス監視手段を識別するために付された符号120の添え字についての巡回置換(N N-1 … 2 1)が成立しているため、複数のプロセス監視手段の間の監視が環状(あるいは循環状と呼称しても差し支えない)に構成されている。つまり、この例では、プロセス監視手段120Nはプロセス監視手段120N-1の動作状況を監視し、プロセス監視手段120N-1はプロセス監視手段120N-2の動作状況を監視し、・・・、プロセス監視手段1202はプロセス監視手段1201の動作状況を監視し、プロセス監視手段1201はプロセス監視手段120Nの動作状況を監視している。
プロセス監視手段1201,1202,…,120N-1,120Nはそれぞれ、N個の監視対象プログラム1301,1302,…,130N-1,130Nのうち対応する監視対象プログラムに組み込まれるプログラムによって実現されるが、これらのプログラムはそれぞれダイナミックリンクライブラリとして構成されている。図1に示す例では、任意のプロセス監視手段120i(i∈{1,2,…,N-1,N})は監視対象プログラム130iに組み込まれるダイナミックリンクライブラリによって実現される。このようにプロセス監視手段を実現するためのプログラムをダイナミックリンクライブラリとして構成することによって、監視対象プログラムの改変は使用するライブラリを指定するコードの追加だけで済み、監視対象プログラムのローディング時にプロセス監視手段を容易に実現できるようになる。
なお、本明細書におけるダイナミックリンクライブラリとの呼称は、特定のオペレーティングシステムを前提とするものではなく、動的リンクを使ったライブラリを一般的に指すものとする。
任意のプロセス監視手段120i(i∈{1,2,…,N-1,N})は、プロセス情報登録手段121iと、プロセス停止検知手段122iと、独立プロセス再起動手段123iを含む。
プロセス情報登録手段121i(i∈{1,2,…,N-1,N})は、プロセス監視手段120iが起動した際にレジストリ110に監視対象プログラム130iのプロセス情報を保存する。プロセス情報の具体例として、プロセスIDと実行ファイルパスが挙げられる。なお、各プロセス監視手段にはレジストリ登録順に1から始まる連続のレジストリ番号が付与されているとする(この明細書では、プロセス監視手段を識別するために付された符号120の添え字をレジストリ番号に一致させている)。
プロセス停止検知手段122i(i∈{1,2,…,N-1,N})は、プロセス監視手段120iの監視対象であるプロセス監視手段120j(j∈{1,2,…,N-1,N}-{i})の動作状況を監視する。例えば、図1に示した環状の監視構成であれば、プロセス停止検知手段122iは、プロセス監視手段120iの監視対象であるプロセス監視手段120i-1(ただし、i=1の場合はプロセス監視手段120Nである)の動作状況を監視する。この監視方法の具体例としては、監視対象のプロセスハンドルを取得してプロセスが停止したシグナルを受信する方法や、セマフォに基づいてオペレーティングシステムが解放するイベントを監視する方法などが挙げられる。
独立プロセス再起動手段123i(i∈{1,2,…,N-1,N})は、プロセス停止検知手段122iが監視対象のプロセス監視手段120j(j∈{1,2,…,N-1,N}-{i})の停止を検知した場合に、レジストリ110に登録されているプロセス情報を参照して、プロセス監視手段120iと同じプロセスツリーに含まれないように、停止したプロセス監視手段120jに対応する監視対象プログラム130jを実行して、監視対象プログラム130jによるプロセスを再起動させる。例えば、図1に示した環状の監視構成であれば、独立プロセス再起動手段123iは、プロセス停止検知手段122iが監視対象のプロセス監視手段120i-1(ただし、i=1の場合はプロセス監視手段120Nである)の停止を検知した場合に、レジストリ110に登録されているプロセス情報を参照して、プロセス監視手段120iと同じプロセスツリーに含まれないように、停止したプロセス監視手段120i-1に対応する監視対象プログラム130i-1を実行して、監視対象プログラム130i-1によるプロセスを再起動させる(監視対象プログラム130i-1が実行されると、プロセス監視手段120i-1も起動される)。
ここで、「同じプロセスツリーに含まれないように」とは、プロセス監視手段120iと再起動されるプロセス監視手段120i-1との間の親子関係を分断することであり、これは、例えば、いわゆる二重forkによって実現できる(図2参照)。
つまり、独立プロセス再起動手段123i(i∈{1,2,…,N-1,N})は、プロセス停止検知手段が監視対象の終了を検知すると呼び出され、終了したプロセスを生成(再起動)した後、自プロセス(独立プロセス再起動手段)を終了する。これによって生成(再起動)プロセスは親プロセス(例えば、プロセス監視手段や独立プロセス再起動手段)を持たない孤児プロセスとなる。結果として本来では一つのプロセスツリーでつながっていた、プロセス監視手段と生成(再起動)プロセス(つまり、再起動されたプロセス監視手段)の親子関係が切れ、独立したプロセスツリーへと切り離される。これによって、芋づる式に監視対象プロセスが停止し、最悪の場合に、監視と再起動が実施できなくなることを回避できる。
なお、このような監視構成によると、N個のプロセス監視手段のうちのN−1個のプロセス監視手段が何らかの事由で終了しても全てのプロセス監視手段を再起動させることができ、とくに環状の監視構成であれば、各プロセス監視手段は前段のプロセス監視手段のプロセスを監視するだけでよいという利点もある。
図1に示す環状監視の例では、任意のプロセス監視手段120i(i∈{1,2,…,N-1,N})は、一つのプロセス監視手段120j(j∈{1,2,…,N-1,N}-{i})の動作状況を監視するとしたが、一つのプロセス監視手段が二つ以上のプロセス監視手段を監視し、あるいは、二つ以上のプロセス監視手段が一つのプロセス監視手段を監視する構成であってもよい。
<第2実施形態>
第2実施形態のプロセス監視システム200は、N個(ただし、Nは2以上の予め定められた整数である)の監視対象プログラム2301,2302,…,230N-1,230Nによるそれぞれのプロセスの死活を監視するシステムであり、記憶手段であるレジストリ210と、N個のプロセス監視手段2201,2202,…,220N-1,220Nを含んでいる。N個のプロセス監視手段2201,2202,…,220N-1,220Nはそれぞれレジストリ210にアクセス可能に構成されている。
プロセス監視手段2201,2202,…,220N-1,220Nはそれぞれ、プロセス監視手段2201,2202,…,220N-1,220Nのうち自己以外の少なくとも一つのプロセス監視手段の動作状況を監視し、かつ、プロセス監視手段2201,2202,…,220N-1,220Nのうち自分以外の少なくとも一つのプロセス監視手段から自己の動作状況を監視されるように、プロセス監視手段2201,2202,…,220N-1,220Nの間の監視が構成されている。
つまり、任意のプロセス監視手段220i(i∈{1,2,…,N-1,N})は、少なくとも一つのプロセス監視手段220j(j∈{1,2,…,N-1,N}-{i})の動作状況を監視し、かつ、少なくとも一つのプロセス監視手段220k(k∈{1,2,…,N-1,N}-{i})から自己(つまりプロセス監視手段220i)の動作状況を監視される。
図3に示す例では、任意のプロセス監視手段と当該プロセス監視手段の監視対象となるプロセス監視手段との間に、プロセス監視手段を識別するために付された符号220の添え字についての巡回置換(N N-1 … 2 1)が成立しているため、複数のプロセス監視手段の間の監視が環状(あるいは循環状と呼称しても差し支えない)に構成されている。つまり、この例では、プロセス監視手段220Nはプロセス監視手段220N-1の動作状況を監視し、プロセス監視手段220N-1はプロセス監視手段220N-2の動作状況を監視し、・・・、プロセス監視手段2202はプロセス監視手段2201の動作状況を監視し、プロセス監視手段2201はプロセス監視手段220Nの動作状況を監視している。
プロセス監視手段2201,2202,…,220N-1,220Nはそれぞれ、N個の監視対象プログラム2301,2302,…,230N-1,230Nのいずれからも分離されている独立のプログラムによって実現される。
任意のプロセス監視手段220i(i∈{1,2,…,N-1,N})は、プロセス情報登録手段221iと、プロセス停止検知手段222iと、独立プロセス再起動手段223iを含む。
プロセス情報登録手段221i(i∈{1,2,…,N-1,N})は、プロセス監視手段220iが起動した際にレジストリ210に、プロセス監視手段220iおよびプロセス監視手段220iの監視対象である監視対象プログラム230iによるプロセスのそれぞれのプロセス情報を保存する。プロセス情報の具体例として、プロセスIDと実行ファイルパスが挙げられる。なお、各プロセス監視手段にはレジストリ登録順に1から始まる連続のレジストリ番号が付与されているとする(この明細書では、プロセス監視手段を識別するために付された符号120の添え字をレジストリ番号に一致させている)。
プロセス停止検知手段222i(i∈{1,2,…,N-1,N})は、プロセス監視手段220iの監視対象であるプロセス監視手段220j(j∈{1,2,…,N-1,N}-{i})の動作状況およびプロセス監視手段220iの監視対象である監視対象プログラム230iによるプロセスの死活を監視する。例えば、図3に示した環状の監視構成であれば、プロセス停止検知手段222iは、プロセス監視手段220iの監視対象であるプロセス監視手段220i-1(ただし、i=1の場合はプロセス監視手段220Nである)の動作状況およびプロセス監視手段220iの監視対象である監視対象プログラム230iによるプロセスの死活を監視する。この監視方法の具体例としては、監視対象である監視対象プログラムによるプロセスとプロセス監視手段のそれぞれのプロセスハンドルを取得してプロセスが停止したシグナルを受信する方法や、セマフォに基づきオペレーティングシステムが解放するイベントを監視する方法などが挙げられる。
独立プロセス再起動手段223i(i∈{1,2,…,N-1,N})は、プロセス停止検知手段222iが監視対象のプロセス監視手段220j(j∈{1,2,…,N-1,N}-{i})または監視対象プログラム230iによるプロセスの停止を検知した場合に、レジストリ210に登録されているプロセス情報を参照して、プロセス監視手段220iと同じプロセスツリーに含まれないように、停止したプロセス監視手段220jを実現するためのプログラムまたは停止した監視対象プログラム230iを実行して、プロセス監視手段220jまたは監視対象プログラム230iによるプロセスを再起動させる。例えば、図3に示した環状の監視構成であれば、独立プロセス再起動手段223iは、プロセス停止検知手段222iが監視対象のプロセス監視手段220i-1(ただし、i=1の場合はプロセス監視手段220Nである)または監視対象プログラム230iによるプロセスの停止を検知した場合に、レジストリ210に登録されているプロセス情報を参照して、プロセス監視手段220iと同じプロセスツリーに含まれないように、停止したプロセス監視手段220i-1を実現するためのプログラムまたは停止した監視対象プログラム230iを実行して、プロセス監視手段220i-1または監視対象プログラム230iによるプロセスを再起動させる。
ここで、「同じプロセスツリーに含まれないように」とは、プロセス監視手段220iと再起動されるプロセス監視手段220i-1との間の親子関係、あるいは、プロセス監視手段220iと再起動される監視対象プログラム230iによるプロセスとの間の親子関係、を分断することであり、これは、例えば、いわゆる二重forkによって実現できる(図2参照)。
つまり、独立プロセス再起動手段223i(i∈{1,2,…,N-1,N})は、プロセス停止検知手段が監視対象の終了を検知すると呼び出され、終了したプロセスを生成(再起動)した後、自プロセス(独立プロセス再起動手段)を終了する。これによって生成(再起動)プロセスは親プロセス(例えば、プロセス監視手段や独立プロセス再起動手段)を持たない孤児プロセスとなる。結果として本来では一つのプロセスツリーでつながっていた、プロセス監視手段と生成(再起動)プロセス(つまり、再起動されたプロセス)の親子関係が切れ、独立したプロセスツリーへと切り離される。これによって、芋づる式に監視対象プロセスが停止し、最悪の場合に、監視と再起動が実施できなくなることを回避できる。
第2実施形態によると、第1実施形態と比較して、一つのプロセス監視手段が監視する対象の数は1から2に増加するが、プロセス監視手段を実現するためのプログラムが監視対象プログラムから分離されているため、監視対象プログラムに何らの変更を加える必要がない。
なお、第2実施形態においても、上述の監視構成によると、N個のプロセス監視手段のうちのN−1個のプロセス監視手段が何らかの事由で終了しても全てのプロセス監視手段を再起動させることができ、とくに環状の監視構成であれば、各プロセス監視手段は前段のプロセス監視手段のプロセスを監視するだけでよいという利点もある。
図3に示す環状監視の例では、任意のプロセス監視手段220i(i∈{1,2,…,N-1,N})は、一つのプロセス監視手段220j(j∈{1,2,…,N-1,N}-{i})の動作状況を監視するとしたが、一つのプロセス監視手段が二つ以上のプロセス監視手段を監視し、あるいは、二つ以上のプロセス監視手段が一つのプロセス監視手段を監視する構成であってもよい。
<補記>
プロセス監視システムは、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit)〔キャッシュメモリやレジスタなどを備えていてもよい〕、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD−ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けるとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるROMに記憶させておくなどでもよい)。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。
ハードウェアエンティティでは、外部記憶装置〔あるいはROMなど〕に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にCPUで解釈実行・処理される。その結果、CPUが所定の機能(プロセス監視手段)を実現する。

Claims (7)

  1. 複数の監視対象プログラムによるそれぞれのプロセスの死活を監視するプロセス監視システムであって、
    記憶手段と、
    複数のプロセス監視手段と
    を含み、
    各上記プロセス監視手段が、複数の上記プロセス監視手段のうち自己以外の少なくとも一つのプロセス監視手段の動作状況を監視し、かつ、複数の上記プロセス監視手段のうち自分以外の少なくとも一つのプロセス監視手段から自己の動作状況を監視される、ように複数の上記プロセス監視手段の間の監視が構成されており、
    各上記プロセス監視手段は、
    複数の上記監視対象プログラムのうち対応する監視対象プログラムに組み込まれるプログラムによって実現され、
    当該プロセス監視手段が起動した際に上記記憶手段にプロセス情報を保存するプロセス情報登録手段と、
    当該プロセス監視手段の監視対象であるプロセス監視手段の動作状況を監視するプロセス停止検知手段と、
    上記プロセス停止検知手段が監視対象であるプロセス監視手段の停止を検知した場合に、上記記憶手段に登録された上記プロセス情報を参照して、当該プロセス監視手段と同じプロセスツリーに含まれないように、停止したプロセス監視手段に対応する監視対象プログラムを実行する独立プロセス再起動手段と
    を含み、
    各上記プロセス監視手段を実現する上記プログラムはダイナミックリンクライブラリとして構成されている
    ことを特徴とするプロセス監視システム。
  2. 請求項1に記載のプロセス監視システムににおいて、
    上記プロセス停止検知手段は、
    監視対象であるプロセス監視手段のプロセスハンドルを取得してプロセスが停止したシグナルを受信し、または、セマフォに基づきオペレーティングシステムが解放するイベントを監視する、ことによって、監視対象であるプロセス監視手段の動作状況を監視する
    ことを特徴とするプロセス監視システム。
  3. 複数の監視対象プログラムによるそれぞれのプロセスの死活を監視するプロセス監視システムであって、
    記憶手段と、
    複数のプロセス監視手段と
    を含み、
    各上記プロセス監視手段が、複数の上記プロセス監視手段のうち自己以外の少なくとも一つのプロセス監視手段の動作状況を監視し、かつ、複数の上記プロセス監視手段のうち自分以外の少なくとも一つのプロセス監視手段から自己の動作状況を監視される、ように複数の上記プロセス監視手段の間の監視が構成されており、
    各上記プロセス監視手段は、
    当該プロセス監視手段が起動した際に上記記憶手段に、当該プロセス監視手段および当該プロセス監視手段の監視対象である監視対象プログラムによるプロセスのそれぞれのプロセス情報を保存するプロセス情報登録手段と、
    当該プロセス監視手段の監視対象であるプロセス監視手段の動作状況および当該プロセス監視手段の監視対象である監視対象プログラムによるプロセスの死活を監視するプロセス停止検知手段と、
    上記プロセス停止検知手段が監視対象であるプロセス監視手段または監視対象プログラムによるプロセスの停止を検知した場合に、上記記憶手段に登録された上記プロセス情報を参照して、当該プロセス監視手段と同じプロセスツリーに含まれないように、停止したプロセス監視手段または監視対象プログラムによるプロセスを再起動する独立プロセス再起動手段と
    を含み、
    各上記プロセス監視手段を実現するプログラムはそれぞれ各上記監視対象プログラムから分離されている
    ことを特徴とするプロセス監視システム。
  4. 請求項3に記載のプロセス監視システムににおいて、
    上記プロセス停止検知手段は、
    監視対象である監視対象プログラムによるプロセスとプロセス監視手段のそれぞれのプロセスハンドルを取得してプロセスが停止したシグナルを受信し、または、セマフォに基づきオペレーティングシステムが解放するイベントを監視する、ことによって、監視対象の動作状況を監視する
    ことを特徴とするプロセス監視システム。
  5. 請求項1から請求項4のいずれかに記載のプロセス監視システムににおいて、
    上記プロセス監視手段の個数は、上記監視対象プログラムの個数と同じであり、
    各上記プロセス監視手段は、複数の上記プロセス監視手段のうち自己以外の一つのプロセス監視手段の動作状況を監視し、かつ、複数の上記プロセス監視手段のうち自分以外の一つのプロセス監視手段から自己の動作状況を監視されることにより、複数の上記プロセス監視手段の間の監視が環状に構成されている
    ことを特徴とするプロセス監視システム。
  6. 記憶手段と、
    それぞれが、複数の監視対象プログラムのうち対応する監視対象プロセスに組み込まれるダイナミックリンクライブラリによって実現される、複数のプロセス監視手段と
    を含み、
    各上記プロセス監視手段が、複数の上記プロセス監視手段のうち自己以外の少なくとも一つのプロセス監視手段の動作状況を監視し、かつ、複数の上記プロセス監視手段のうち自分以外の少なくとも一つのプロセス監視手段から自己の動作状況を監視される、ように複数の上記プロセス監視手段の間の監視が構成されている
    プロセス監視システムにおけるプロセス監視方法であって、
    各上記プロセス監視手段が、当該プロセス監視手段が起動した際に上記記憶手段にプロセス情報を保存するプロセス情報登録ステップと、
    各上記プロセス監視手段が、当該プロセス監視手段の監視対象であるプロセス監視手段の動作状況を監視するプロセス停止検知ステップと、
    各上記プロセス監視手段が、上記プロセス停止検知ステップにて監視対象であるプロセス監視手段の停止を検知した場合に、上記記憶手段に登録された上記プロセス情報を参照して、当該プロセス監視手段と同じプロセスツリーに含まれないように、停止したプロセス監視手段に対応する監視対象プログラムを実行する独立プロセス再起動ステップと
    を有することを特徴とするプロセス監視方法。
  7. 記憶手段と、
    それぞれが、複数の監視対象プログラムのそれぞれから分離されているプログラムによって実現される、複数のプロセス監視手段と
    を含み、
    各上記プロセス監視手段が、複数の上記プロセス監視手段のうち自己以外の少なくとも一つのプロセス監視手段の動作状況を監視し、かつ、複数の上記プロセス監視手段のうち自分以外の少なくとも一つのプロセス監視手段から自己の動作状況を監視される、ように複数の上記プロセス監視手段の間の監視が構成されている
    プロセス監視システムにおけるプロセス監視方法であって、
    各上記プロセス監視手段が、当該プロセス監視手段が起動した際に上記記憶手段に、当該プロセス監視手段および当該プロセス監視手段の監視対象である監視対象プログラムによるプロセスのそれぞれのプロセス情報を保存するプロセス情報登録ステップと、
    各上記プロセス監視手段が、当該プロセス監視手段の監視対象であるプロセス監視手段の動作状況および当該プロセス監視手段の監視対象である監視対象プログラムによるプロセスの死活を監視するプロセス停止検知ステップと、
    各上記プロセス監視手段が、上記プロセス停止検知ステップにて監視対象であるプロセス監視手段または監視対象プログラムによるプロセスの停止を検知した場合に、上記記憶手段に登録された上記プロセス情報を参照して、当該プロセス監視手段と同じプロセスツリーに含まれないように、停止したプロセス監視手段または監視対象プログラムによるプロセスを再起動する独立プロセス再起動ステップと
    を有することを特徴とするプロセス監視方法。
JP2013217071A 2013-10-18 2013-10-18 プロセス監視システム、プロセス監視方法 Active JP5986974B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013217071A JP5986974B2 (ja) 2013-10-18 2013-10-18 プロセス監視システム、プロセス監視方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013217071A JP5986974B2 (ja) 2013-10-18 2013-10-18 プロセス監視システム、プロセス監視方法

Publications (2)

Publication Number Publication Date
JP2015079413A true JP2015079413A (ja) 2015-04-23
JP5986974B2 JP5986974B2 (ja) 2016-09-06

Family

ID=53010775

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013217071A Active JP5986974B2 (ja) 2013-10-18 2013-10-18 プロセス監視システム、プロセス監視方法

Country Status (1)

Country Link
JP (1) JP5986974B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09319720A (ja) * 1996-05-31 1997-12-12 Mitsubishi Electric Corp 分散プロセス管理システム
JP2000235504A (ja) * 1999-02-15 2000-08-29 Nippon Telegr & Teleph Corp <Ntt> プロセス管理方法及びプロセス管理装置及びプロセス管理プログラムを記録した記録媒体
JP2011248486A (ja) * 2010-05-25 2011-12-08 International Business Maschines Corporation 所定のリソースを監視する監視プログラムの強制終了攻撃に対する耐性を有する装置、所定のリソースを監視する監視プログラムの強制終了攻撃に対する耐性を付与する方法及び該方法を装置で実行することが可能なコンピュータプログラム
JP2013041484A (ja) * 2011-08-18 2013-02-28 Mitsubishi Electric Corp プログラム監視システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09319720A (ja) * 1996-05-31 1997-12-12 Mitsubishi Electric Corp 分散プロセス管理システム
JP2000235504A (ja) * 1999-02-15 2000-08-29 Nippon Telegr & Teleph Corp <Ntt> プロセス管理方法及びプロセス管理装置及びプロセス管理プログラムを記録した記録媒体
JP2011248486A (ja) * 2010-05-25 2011-12-08 International Business Maschines Corporation 所定のリソースを監視する監視プログラムの強制終了攻撃に対する耐性を有する装置、所定のリソースを監視する監視プログラムの強制終了攻撃に対する耐性を付与する方法及び該方法を装置で実行することが可能なコンピュータプログラム
JP2013041484A (ja) * 2011-08-18 2013-02-28 Mitsubishi Electric Corp プログラム監視システム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6015035362; 渡邉利和: 'Ubuntuのために開発された Upstart' UNIX magazine 第24巻,第1号, 20090101, pp.26-29, 株式会社アスキー・メディアワークス *
JPN6016007088; 前田修吾,外3名: Rubyアプリケーションプログラミング 第1版, 20020425, p.208, 株式会社オーム社 *

Also Published As

Publication number Publication date
JP5986974B2 (ja) 2016-09-06

Similar Documents

Publication Publication Date Title
US20160140164A1 (en) Complex event processing apparatus and complex event processing method
US9098439B2 (en) Providing a fault tolerant system in a loosely-coupled cluster environment using application checkpoints and logs
WO2015051690A1 (zh) 一种基于zookeeper的信息配置方法及装置
CN109408232B (zh) 一种基于交易流程的组件化总线调用执行系统
KR20160132856A (ko) 사용자 모드 크래시 리포트를 위한 프레임워크
US20140122931A1 (en) Performing diagnostic tests in a data center
US11556456B2 (en) Telemetry system extension
CN104205109A (zh) 持续性和弹性的工作者进程
US9092287B2 (en) Product deployment system
US9626328B1 (en) Method and system for on-demand aggregated logging for distributed systems
US11593478B2 (en) Malware collusion detection
JP2019527429A (ja) システム呼び出しのシーケンスを用いた異常検出
US20150121144A1 (en) Synchronized debug information generation
US10740166B2 (en) Thread based dynamic data collection
US20190121985A1 (en) Detecting vulnerabilities in applications during execution
TW202147157A (zh) 運算裝置安全啟動技術
US8417805B2 (en) Controlling execution of services across servers
JP5986974B2 (ja) プロセス監視システム、プロセス監視方法
US9384120B2 (en) Testing of transaction tracking software
JP5712243B2 (ja) 監視処理方法、監視処理装置及び監視処理システム
US11689630B2 (en) Request processing method and apparatus, electronic device, and computer storage medium
US20210374036A1 (en) Application-specific log routing
JP2006163528A (ja) 通信端末、サーバ装置及び監視システム
US20160232043A1 (en) Global cache for automation variables
CN117917646A (zh) 进程管控方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150901

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151028

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160301

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160406

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: 20160802

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160808

R150 Certificate of patent or registration of utility model

Ref document number: 5986974

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150