JP6309711B2 - Process monitoring program and process monitoring system - Google Patents
Process monitoring program and process monitoring system Download PDFInfo
- Publication number
- JP6309711B2 JP6309711B2 JP2013053142A JP2013053142A JP6309711B2 JP 6309711 B2 JP6309711 B2 JP 6309711B2 JP 2013053142 A JP2013053142 A JP 2013053142A JP 2013053142 A JP2013053142 A JP 2013053142A JP 6309711 B2 JP6309711 B2 JP 6309711B2
- Authority
- JP
- Japan
- Prior art keywords
- process monitoring
- response
- messages
- failure state
- server
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 268
- 230000008569 process Effects 0.000 title claims description 267
- 238000012544 monitoring process Methods 0.000 title claims description 156
- 230000004044 response Effects 0.000 claims description 127
- 230000005540 biological transmission Effects 0.000 description 45
- 230000010365 information processing Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 6
- 230000005012 migration Effects 0.000 description 5
- 238000013508 migration Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Landscapes
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
Description
本発明は、情報処理システムにおけるプロセス監視に関する。 The present invention relates to process monitoring in an information processing system.
近年、クライアント・サーバシステムにおいて、サーバからクライアントに各種サービスが提供されている。これらのサービスを適切に提供するため、サーバ上で実行される各種プロセスは、プロセス監視システムなどにより監視されている。例えば、サーバ上の各プロセスが適切に起動されているか判定するため、プロセス監視システムは、各プロセスに対して定期的に生死判定を実行している。例えば、この生死判定は、プロセス監視システムが監視対象のサーバに定期的にメッセージを送信し、当該メッセージに対する正常応答(OK応答)がタイムアウト時間内に受信できたかに基づき行われる。生死判定の結果として、プロセスが正常に動作していないことが検出されると(例えば、NG応答を受信した場合、あるいは、タイムアウト時間内に応答を受信できなかった場合)、プロセス監視システムは、当該プロセスを他のサーバに切り替える(テイクオーバ)。 In recent years, various services are provided from a server to a client in a client-server system. In order to appropriately provide these services, various processes executed on the server are monitored by a process monitoring system or the like. For example, in order to determine whether each process on the server is properly activated, the process monitoring system periodically performs life / death determination on each process. For example, this life / death determination is performed based on whether the process monitoring system periodically transmits a message to the monitoring target server and a normal response (OK response) to the message is received within the timeout period. As a result of the life / death determination, when it is detected that the process is not operating normally (for example, when an NG response is received or when a response is not received within the timeout period), the process monitoring system Switch the process to another server (takeover).
しかしながら、クライアント・サーバシステムの複雑化に伴って、誤った生死判定が行われることがある。例えば、サーバ上で正常に動作するプロセスに対する応答がNG応答として返信されたり、あるいは、タイムアウト時間内にプロセス監視システムにOK応答が到達しないなどによって、正常に動作しているプロセスが、正常に動作していないと誤判定されることがある。 However, as the client / server system becomes complicated, an erroneous life / death determination may be performed. For example, when a response to a process that operates normally on the server is returned as an NG response, or an OK response does not reach the process monitoring system within the time-out period, a normally operating process operates normally. If not, it may be misjudged.
このような誤判定は、典型的には、各プログラムにおけるバグに起因するものであるため、プログラム提供元によって当該バグは修正される。しかしながら、サーバ上で実行されるミドルウェアが増加するに従って、多数のミドルウェアが混在するシステム環境に依拠したバグなどに起因して、低い生起確率ではあるものの、このような誤判定が偶発的に発生する事象が出現するようになってきている。このタイプのバグは、人為的に再発生させることが困難であり、プログラム提供元による修正は期待することができないかもしれない。このような誤判定に基づきテイクオーバが実行されると、テイクオーバに伴う時間や人手の浪費、テイクオーバ中のサービスの中断など様々な問題が生じる。 Such an erroneous determination is typically caused by a bug in each program, and the bug is corrected by the program provider. However, as the middleware executed on the server increases, such a misjudgment occurs accidentally even though the probability of occurrence is low due to a bug that relies on a system environment in which many middlewares are mixed. Events are beginning to appear. This type of bug is difficult to reproduce artificially and may not be expected to be fixed by the program provider. When takeover is executed based on such an erroneous determination, various problems such as time taken by the takeover, waste of manpower, and interruption of service during takeover occur.
上記問題点を鑑み、本発明の課題は、偶発的に出現するバグに起因したプロセス生死判定における誤判定を低減するためのプロセス監視技術を提供することである。 In view of the above problems, an object of the present invention is to provide a process monitoring technique for reducing erroneous determination in process life / death determination caused by a bug that appears accidentally.
上記課題を解決するため、本発明の一態様は、監視対象のプロセスに対して、1組のプロセス監視電文の各プロセス監視電文を第1時間内に異なる発信タイミングで発信するステップと、前記1組のプロセス監視電文に対する応答の受信状態に基づき、前記プロセスが故障状態であるか判定するステップとをコンピュータに実行させるプロセス監視プログラムに関する。 In order to solve the above-mentioned problem, according to one aspect of the present invention, a step of transmitting each process monitoring message of a set of process monitoring messages to a monitoring target process at different transmission timings within a first time; The present invention relates to a process monitoring program that causes a computer to execute a step of determining whether or not the process is in a failure state based on a reception state of a response to a set of process monitoring messages.
本発明の他の態様は、監視対象のプロセスに対して、1組のプロセス監視電文の各プロセス監視電文を第1時間内に異なる発信タイミングで発信する発信部と、前記1組のプロセス監視電文に対する応答を受信する受信部と、前記応答の受信状態に基づき、前記プロセスが故障状態であるか判定する判定部とを有するプロセス監視システムに関する。 According to another aspect of the present invention, there is provided a transmitting unit that transmits each process monitoring message of a set of process monitoring messages at different transmission timings within a first time with respect to a process to be monitored, and the one set of process monitoring messages. The present invention relates to a process monitoring system including a receiving unit that receives a response to, and a determination unit that determines whether the process is in a failure state based on a reception state of the response.
本発明によると、偶発的に出現するバグに起因したプロセス生死判定における誤判定を低減すると共に、タイムアウトを待つことなく故障を検知して迅速にテイクオーバを開始することができる。 According to the present invention, it is possible to reduce erroneous determination in process life / death determination due to a bug that appears accidentally, and to detect a failure without waiting for timeout and to quickly start takeover.
以下、図面に基づいて本発明の実施の形態を説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
後述される実施例では、偶発的に出現するバグに起因したプロセス生死判定における誤判定を低減するためのプロセス監視システムが開示される。プロセス監視システムは、サーバ上で実行される監視対象のプロセスに対して、1組のプロセス監視電文の各プロセス監視電文を第1時間内に異なる発信タイミングで発信する。一実施例では、サーバ上の各プロセスに対して2つのプロセス監視電文が微小時間差(例えば、数百ミリ秒の時間差など)で発信される。当該プロセス監視電文を受信すると、各プロセスは、正常動作している場合には正常応答(OK応答)をプロセス監視システムに返し、他方、正常動作していない場合にはNG応答をプロセス監視システムに返すか、あるいは、タイムアウト時間内に応答自体を返さない。このように、送信した1組のプロセス監視電文に対する応答の受信状態に基づき、プロセス監視システムは、当該プロセスが故障状態であるか判定し、判定結果に応じて他のサーバにテイクオーバする。 In an embodiment described later, a process monitoring system for reducing erroneous determination in process life / death determination due to a bug that appears accidentally is disclosed. The process monitoring system transmits each process monitoring message of a set of process monitoring messages to the monitoring target process executed on the server at different transmission timings within the first time. In one embodiment, two process monitoring messages are sent for each process on the server with a minute time difference (eg, a time difference of several hundred milliseconds). When the process monitoring message is received, each process returns a normal response (OK response) to the process monitoring system if it is operating normally, and an NG response to the process monitoring system if it is not operating normally. Or return no response within the timeout period. As described above, the process monitoring system determines whether the process is in a failure state based on the reception status of the response to the transmitted set of process monitoring messages, and takes over to another server according to the determination result.
このように複数個のプロセス監視電文を異なる送信タイミングで送信し、これらの応答結果に基づき生死判定を行うことによって、低い確率で偶発的に発生するようなバグに起因した誤判定を回避することが可能になる。このようなバグは、様々な要因があるタイミングで偶然に一致したことにより発生することが多く、それ以外のタイミングでは誤判定が発生する可能性は極めて低いためである。これにより、誤った生死判定に基づくテイクオーバ、これに伴うネットワークの瞬断やサービスの停止などを回避することが可能になると共に、プロセスが故障状態であるときには、タイムアウトを待つことなく故障を検知して迅速にテイクオーバを開始することができる。 In this way, by sending multiple process monitoring messages at different transmission timings and making life / death determinations based on these response results, misjudgment due to bugs that occur accidentally with low probability is avoided. Is possible. This is because such bugs often occur due to accidental coincidence at various timings, and it is extremely unlikely that an erroneous determination will occur at other timings. This makes it possible to avoid takeover based on incorrect life / death judgments, network interruptions and service interruptions associated with this, and to detect a failure without waiting for a timeout when the process is in a failure state. And takeover can be started quickly.
まず、図1を参照して、本発明の一実施例による情報処理システムを説明する。情報処理システムは、例えば、クライアント・サーバシステムであり、クライアントからの要求に応答して、サーバが各種サービスを提供する。本実施例では、情報処理システムは、高い可用性(availability)が要求されるシステムに好適であり、稼働中のサーバにおける障害の発生に応答した予備のサーバへの切り替え(テイクオーバ又はフェイルオーバ)やサービスの中断を最小限に抑えると共に、障害が発生している場合には迅速にテイクオーバを開始するよう設計される。 First, an information processing system according to an embodiment of the present invention will be described with reference to FIG. The information processing system is, for example, a client / server system, and the server provides various services in response to requests from the client. In this embodiment, the information processing system is suitable for a system that requires high availability, and switching to a spare server (takeover or failover) in response to the occurrence of a failure in a running server or service It is designed to minimize interruptions and to quickly initiate takeover in the event of a failure.
図1は、本発明の一実施例による情報処理システムを示す概略図である。図1に示されるように、情報処理システム10は、プロセス監視システム100、サーバ201,202、データベース(DB)250及び端末装置300を有する。図示される実施例では、サーバ201が稼働中のサーバであり、サーバ202が、サーバ201の予備のサーバである。
FIG. 1 is a schematic diagram showing an information processing system according to an embodiment of the present invention. As illustrated in FIG. 1, the
プロセス監視システム100は、稼働中のサーバ201において実行されている各プロセスを監視する。以下で詳細に説明されるように、プロセス監視システム100は、サーバ201において実行されている各プロセスに複数の生死監視メッセージを異なる送信タイミングで発信し、当該生死監視メッセージに対する各プロセスからの応答の受信結果に基づき、当該プロセスが正常に作動しているか、又は障害が発生しているか判定する。障害が発生していると判定すると、プロセス監視システム100は、当該プロセスに対して稼働中のサーバ201を予備のサーバ202に切り替える(テイクオーバ又はフェイルオーバ)。
The
サーバ201は、稼働中のサーバであり、クライアントである端末装置300に各種サービスを提供する。一実施例では、端末装置300から処理要求を受信すると、サーバ201は、当該処理に関連するデータをデータベース250から取得し、取得したデータに対して要求された処理を実行し、処理結果を端末装置300に返す。これらの処理を実行するため、サーバ201内ではオペレーティングシステム(OS)、ミドルウェア、アプリケーションなどの各種プログラムが起動され、これらのプログラムに関して各種プロセスが実行されている。各プロセスは、プロセス監視システム100から送信される生死監視メッセージに対して、当該プロセスが正常に動作している場合には正常応答(OK応答)を返し、当該プロセスが正常に動作していない場合にはNG応答を返すか、あるいは、故障のため応答自体を返さない。
The
サーバ202は、稼働中のサーバ201の予備のサーバであり、サーバ201に障害が発生すると、プロセス監視システム100からのテイクオーバ指示に応答して、サーバ201の代わりに対応するプロセスを起動する。典型的には、このテイクオーバには、10〜15分などの時間を要することもあり、テイクオーバ実行中は端末装置300へのサービスの提供が一時的に中断されることもある。このため、特に高い可用性が要求される情報処理システム10では、テイクオーバの実行は最小限に抑えられるべきである。
The
データベース250は、端末装置300からの各種処理要求を実行するのに必要な各種データを格納する。例えば、これらのデータは、サーバ201,202において起動されるデータベースミドルウェアを介し取得及び操作される。
The
端末装置300は、情報処理システム10におけるクライアント装置であり、典型的には、デスクトップコンピュータ、ノートブックコンピュータなどの情報端末により実現される。端末装置300は、稼働中のサーバ201に各種処理要求を送信し、サーバ201による処理結果を受信する。サーバ201のプロセスに障害が検出され、サーバ202へのテイクオーバが実行されると、端末装置300は、サーバ202とのやりとりを開始する。
The
次に、図2〜3を参照して、本発明の一実施例によるプロセス監視システムを説明する。プロセス監視システム100は、上述したように、サーバ201上で実行される監視対象のプロセスに対して、1組のプロセス監視電文の各プロセス監視電文を所定の送信時間内に異なる発信タイミングで発信し、送信した1組のプロセス監視電文に対する応答の受信状態(例えば、所定の受信時間内に応答を受信したか否か、受信した応答がOK応答であるか否かなど)に基づき、当該プロセスが故障状態であるか判定する。プロセス監視システム100は、当該判定結果に応じて、当該プロセスに対するサーバ202へのテイクオーバを実行する。
Next, a process monitoring system according to an embodiment of the present invention will be described with reference to FIGS. As described above, the
図2は、本発明の一実施例によるプロセス監視システムのハードウェア構成を示すブロック図である。図2に示されるように、プロセス監視システム100は、バスBを介し相互接続されるドライブ装置101、補助記憶装置102、メモリ装置103、CPU(Central Processing Unit)104、インタフェース装置105及びタイマ106を有する。
FIG. 2 is a block diagram showing a hardware configuration of a process monitoring system according to an embodiment of the present invention. As shown in FIG. 2, the
プロセス監視システム100における後述される各種機能及び処理を実現するプロセス監視プログラムを含む各種プログラムは、CD−ROM(Compact Disk−Read Only Memory)などの記録媒体107によって提供されてもよい。プログラムを記憶した記録媒体107がドライブ装置101にセットされると、プログラムが記録媒体107からドライブ装置101を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体107により行う必要はなく、ネットワーク(図示せず)を介し何れかの外部装置からダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータなどを格納する。
Various programs including a process monitoring program that realizes various functions and processes described later in the
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムやデータを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムやプログラムを実行するのに必要なパラメータなどの各種データに従って、後述されるようなプロセス監視システム100の各種機能及び処理を実行する。インタフェース装置105は、ネットワーク又は外部装置に接続するための通信インタフェースとして用いられる。タイマ106は、計時手段として備えられる。
The
しかしながら、プロセス監視システム100は、上述したハードウェア構成に限定されるものでなく、例えば、サーバ、パーソナルコンピュータ、モバイル装置などの何れか適切な情報処理装置により実現されてもよい。
However, the
図3は、本発明の一実施例によるプロセス監視システムの機能構成を示すブロック図である。図3に示されるように、プロセス監視システム100は、発信部110、受信部120、判定部130及び移行指示部140を有する。
FIG. 3 is a block diagram showing a functional configuration of a process monitoring system according to an embodiment of the present invention. As illustrated in FIG. 3, the
発信部110は、サーバ201の監視対象のプロセスに対して、1組のプロセス監視電文の各プロセス監視電文を所定の送信時間内に異なる発信タイミングで発信する。一実施例では、発信部110は、各プロセスに対して2個のプロセス監視電文を微小時間差(例えば、数百ミリ秒など)で二重化又は重複化して送信する。当該所定の送信時間は、これに限定されるものでないが、少なくともタイムアウト時間より短い時間に設定される。なお、プロセス監視電文の各組毎の送信は、典型的には、当該送信時間より長い間隔で定期的に行われる。
The
受信部120は、発信部110により発信された1組のプロセス監視電文に対する応答を受信する。プロセス監視電文の対象となるプロセスが正常に動作している場合、正常応答(OK応答)が受信部120に返される。他方、プロセス監視電文の対象となるプロセスが正常に動作していない場合、NG応答が受信部120に返される。あるいは、プロセス監視電文の対象となるプロセスが正常に動作していない場合、応答自体が受信部120に返されない可能性もある。
The receiving
判定部130は、1組のプロセス監視電文の各プロセス監視電文に対する応答の受信状態に基づき、監視対象のプロセスが故障状態であるか判定する。監視対象のプロセスが故障状態であると判定すると、判定部130は、当該プロセスが故障状態であることを移行指示部140に通知する。
The
一実施例では、判定部130は、送信した1組のプロセス監視電文に対する応答が所定の受信時間(例えば、タイムアウト時間など)内に受信されたか判定し、これらの応答のうち所定数以上の応答が所定の受信時間内に受信されなかった場合、当該プロセスが故障状態であると判定する。一例として、当該受信時間は、各プロセス監視電文の発信時刻から受信時刻までの時間と対比されてもよい。すなわち、送信した複数個のプロセス監視電文のうち所定数以上のプロセス監視電文の発信時刻から受信時刻までの時間が、タイムアウト値などの所定の受信時間を超過した場合、判定部130は、当該プロセスが故障状態であると判定する。典型的には、当該所定の受信時間は、タイムアウト値に設定され、上述した所定の送信時間(微小時間)より長く設定される。
In one embodiment, the
一例として、発信部110が1組のプロセス監視電文として2個のプロセス監視電文を異なる送信タイミングで発信した場合、判定部130は、これら2個のプロセス監視電文に対する2個の応答の双方が所定の受信時間(タイムアウト時間)内に受信されなかった場合、当該プロセスが故障状態であると判定してもよい。すなわち、第1プロセス監視電文に対する応答が第1プロセス監視電文の発信時刻から所定の受信時間内に受信されず、かつ、第2プロセス監視電文に対する応答が第2プロセス監視電文の発信時刻から所定の受信時間内に受信されなかった場合、当該プロセスが故障状態であると判定してもよい。
As an example, when the
他の例として、発信部110が1組のプロセス監視電文として2個のプロセス監視電文を異なる送信タイミングで発信した場合、判定部130は、これら2個のプロセス監視電文に対する2個の応答の何れか一方が所定の受信時間内に受信されなかった場合、当該プロセスが故障状態であると判定してもよい。すなわち、第1プロセス監視電文に対する応答が第1プロセス監視電文の発信時刻から所定の受信時間内に受信されなかったか、又は、第2プロセス監視電文に対する応答が第2プロセス監視電文の発信時刻から所定の受信時間内に受信されなかった場合、当該プロセスが故障状態であると判定してもよい。
As another example, when the
何れの判定基準を使用するかは、情報処理システム10の実施形態に応じて決定されてもよい。一実施例では、判定基準は、当該プロセスの特性、テイクオーバに係るコスト、誤判定を生じさせるバグの発生頻度の1以上などに基づき決定されてもよい。
Which criterion is used may be determined according to the embodiment of the
例えば、当該プロセスに代替的な他のプロセスが正常に動作している場合、判定部130は、2個の応答の双方が所定の受信時間内に受信されなかったことに応答して、当該プロセスが故障状態であると判定してもよい。他方、当該プロセスに代替的な他のプロセスがない場合、判定部130は、2個の応答の何れか一方が所定の受信時間内に受信されなかったことに応答して、当該プロセスが故障状態であると判定してもよい。これは、当該プロセスがかなりの精度で故障状態である場合でも、代替プロセスが当該プロセスを代替して処理を実行するため、即座にテイクオーバする必要がないためである。
For example, when another process alternative to the process is operating normally, the
また、テイクオーバに係るコスト(例えば、テイクオーバに要する時間、サーバ201の可用性など)が大きい場合、判定部130は、2個の応答の双方が所定の受信時間内に受信されなかったことに応答して、当該プロセスが故障状態であると判定してもよい。他方、テイクオーバに係るコストがそれほど大きくない場合、判定部130は、2個の応答の何れか一方が所定の受信時間内に受信されなかったことに応答して、当該プロセスが故障状態であると判定してもよい。テイクオーバに係るコストを勘案して、テイクオーバの要否を決定することが可能になる。
When the cost for takeover (for example, the time required for takeover, the availability of the
また、誤判定を生じさせるバグの発生頻度が高いと推定される場合、判定部130は、2個の応答の双方が所定の受信時間内に受信されなかったことに応答して、当該プロセスが故障状態であると判定してもよい。他方、誤判定を生じさせるバグの発生頻度が低いと推定される場合、判定部130は、2個の応答の何れか一方が所定の受信時間内に受信されなかったことに応答して、当該プロセスが故障状態であると判定してもよい。これにより、誤判定によるテイクオーバの実行を低減することが可能になる。
When it is estimated that the occurrence frequency of bugs that cause erroneous determination is high, the
なお、発信部110が1組のプロセス監視電文として2個のプロセス監視電文を異なる送信タイミングで発信した場合、判定部130は、これら2個のプロセス監視電文に対する2個の応答の何れか一方が所定の受信時間内に受信されなかったことに応答して、当該プロセスが故障状態であると判定する前に、発信部110にリトライさせるようにしてもよい。例えば、判定部130は、当該プロセスに対して2個のプロセス監視電文を異なる発信タイミングで再送するよう発信部110に指示してもよい。
When the
他の実施例では、判定部130は、送信した1組のプロセス監視電文に対する応答がNG応答であるか判定し、当該応答のうち所定数以上の応答がNG応答であった場合、当該プロセスが故障状態であると判定してもよい。
In another embodiment, the
一例として、発信部110が1組のプロセス監視電文として2個のプロセス監視電文を異なる送信タイミングで発信した場合、判定部130は、これら2個のプロセス監視電文に対する2個の応答の双方がNG応答である場合、当該プロセスが故障状態であると判定してもよい。他の例として、発信部110が1組のプロセス監視電文として2個のプロセス監視電文を異なる送信タイミングで発信した場合、判定部130は、これら2個のプロセス監視電文に対する2個の応答の何れか一方がNG応答である場合、当該プロセスが故障状態であると判定してもよい。
As an example, when the
何れの判定基準を使用するかは、情報処理システム10の実施形態や故障の推定精度に応じて決定されてもよい。一実施例では、判定基準は、当該プロセスの特性、テイクオーバに係るコスト、誤判定を生じさせるバグの発生頻度の1以上などに基づき決定されてもよい。
Which criterion is used may be determined according to the embodiment of the
例えば、当該プロセスに代替的な他のプロセスが正常に動作している場合、判定部130は、2個の応答の双方がNG応答であったことに応答して、当該プロセスが故障状態であると判定してもよい。他方、当該プロセスに代替的な他のプロセスがない場合、判定部130は、2個の応答の何れか一方がNG応答であったことに応答して、当該プロセスが故障状態であると判定してもよい。また、テイクオーバに係るコスト(例えば、テイクオーバに要する時間、サーバ201の可用性など)が大きい場合、判定部130は、2個の応答の双方がNG応答であったことに応答して、当該プロセスが故障状態であると判定してもよい。他方、テイクオーバに係るコストがそれほど大きくない場合、判定部130は、2個の応答の何れか一方がNG応答であったことに応答して、当該プロセスが故障状態であると判定してもよい。また、誤判定を生じさせるバグの発生頻度が高いと推定される場合、判定部130は、2個の応答の双方がNG応答であったことに応答して、当該プロセスが故障状態であると判定してもよい。他方、誤判定を生じさせるバグの発生頻度が低いと推定される場合、判定部130は、2個の応答の何れか一方がNG応答であったことに応答して、当該プロセスが故障状態であると判定してもよい。
For example, when another process alternative to the process is operating normally, the
なお、発信部110が1組のプロセス監視電文として2個のプロセス監視電文を異なる送信タイミングで発信した場合、判定部130は、これら2個のプロセス監視電文に対する2個の応答の何れか一方がNG応答であったことに応答して、当該プロセスが故障状態であると判定する前に、発信部110にリトライさせるようにしてもよい。例えば、判定部130は、当該プロセスに対して2個のプロセス監視電文を異なる送信タイミングで再送するよう発信部110に指示してもよい。
When the
さらなる他の実施例では、上述した実施例を組み合わせ、判定部130は、送信した1組のプロセス監視電文に対する応答が所定の受信時間(例えば、タイムアウト時間など)内に受信されたか判定すると共に、送信した1組のプロセス監視電文に対する応答がNG応答であるか判定し、これらの応答のうち所定数以上の応答が所定の受信時間内に受信されなかった場合及び/又は当該応答のうち所定数以上の応答がNG応答であった場合、当該プロセスが故障状態であると判定してもよい。
In still another embodiment, the above-described embodiments are combined, and the
また、さらなる他の実施例では、判定部130は、送信した1組のプロセス監視電文を送信するのに要した時間と、当該プロセス監視電文に対する応答を受信するのに要した時間とを対比し、送信に要した時間より受信に要した時間が所定の閾値以上である場合、当該プロセスが故障状態であると判定してもよい。一般に、1組のプロセス監視電文を送信するのに要した時間、すなわち、最初のプロセス監視電文を送信してから最後のプロセス監視電文を送信するまでの時間は、送信したプロセス監視電文に対する最初の応答を受信してから最後の応答を受信するまでの時間に概ね等しくなると考えられる。従って、プロセス監視電文に対する最初の応答を受信してから最後の応答を受信するまでの時間が、最初のプロセス監視電文を送信してから最後のプロセス監視電文を送信するまでの時間を大きく超過した場合、すなわち、最初のプロセス監視電文を送信してから最後のプロセス監視電文を送信するまでの時間を所定の閾値以上超過した場合、判定部130は、当該プロセスが故障状態であると判定してもよい。ここで、タイムアウト時間内に応答を受信できなかったプロセス監視電文がある場合、受信できた応答のみを考慮してプロセス監視電文に対する応答を受信するのに要した時間を算出し、当該プロセスが故障状態であるか判定してもよい。また、タイムアウト時間内に受信できなかったプロセス監視電文の個数を計数し、その個数が所定数以上である場合、プロセス監視電文に対する応答を受信するのに要した時間に関係なく、当該プロセスが故障状態であると判定してもよい。
In still another embodiment, the
移行指示部140は、監視対象のプロセスが故障状態であると判定されると、当該プロセスによる処理を停止し、当該プロセスに代替するプロセスによって処理を続行させる。一実施例では、移行指示部140は、故障状態であると判定されたサーバ201のプロセスを、予備のサーバ202の代替プロセスに切り替え(テイクオーバ)、当該代替プロセスにより当該処理を続行させる。
When it is determined that the process to be monitored is in a failure state, the
次に、図4を参照して、本発明の一実施例によるプロセス監視システムにおける処理を説明する。図4は、本発明の一実施例によるプロセス監視システムにおける処理を示すフロー図である。 Next, processing in the process monitoring system according to an embodiment of the present invention will be described with reference to FIG. FIG. 4 is a flowchart showing processing in the process monitoring system according to the embodiment of the present invention.
図4に示されるように、ステップS101において、プロセス監視システム100は、1組のプロセス監視電文の各プロセス監視電文を所定の送信時間内に異なる送信タイミングで発信する。例えば、各プロセス監視電文は、所定の時間差(例えば、数百ミリ秒など)で発信されてもよい。なお、プロセス監視電文の各組は、所定の間隔で定期的に送信される。
As shown in FIG. 4, in step S101, the
ステップS102において、プロセス監視システム100は、テイクオーバの要否判定を実行する。すなわち、プロセス監視システム100は、ステップS101において送信した複数個のプロセス監視電文の各応答の受信状態に基づき、所定の判定基準に従って当該プロセスが故障状態であるか否かを判定するテイクオーバ要否判定を実行する。一実施例では、テイクオーバ要否判定は、ステップS101において送信した複数個のプロセス監視電文に対する各応答が所定の受信時間(例えば、タイムアウト時間など)内に受信されたか判定することであってもよい。他の実施例では、テイクオーバ要否判定は、ステップS101において送信した複数個のプロセス監視電文に対する各応答がNG応答であるか判定することであってもよい。さらなる他の実施例では、テイクオーバ要否判定は、ステップS101において送信した複数個のプロセス監視電文に対する各応答が所定の受信時間(例えば、タイムアウト時間など)内に受信されたか判定すると共に、当該受信したプロセス監視電文に対する各応答がNG応答であるか判定することであってもよい。
In step S102, the
ステップS103において、プロセス監視システム100は、テイクオーバが必要であるか判定する。ステップS102において実行されたテイクオーバ要否判定に対応して、テイクオーバが必要であるか判定する。例えば、テイクオーバ要否判定が複数個のプロセス監視電文に対する各応答が所定の受信時間(例えば、タイムアウト時間など)内に受信されたか判定することである場合、プロセス監視システム100は、当該プロセス監視電文に対する応答のうち所定数以上の応答が所定の時間内に受信されなかったことに応答して、テイクオーバを実行する必要があると判定してもよい。また、テイクオーバ要否判定が複数個のプロセス監視電文に対する各応答がNG応答であるか判定することである場合、プロセス監視システム100は、当該プロセス監視電文に対する応答のうち所定数以上の応答がNG応答であったことに応答して、テイクオーバを実行する必要があると判定してもよい。さらに、テイクオーバ要否判定が複数個のプロセス監視電文に対する各応答が所定の受信時間内に受信されたか判定すると共に、当該受信したプロセス監視電文に対する各応答がNG応答であるか判定することである場合、プロセス監視システム100は、当該プロセス監視電文に対する応答のうち所定数以上の応答が所定の受信時間内に受信されず、また、当該受信したプロセス監視電文に対する応答のうち所定数以上の応答がNG応答であったことに応答して、テイクオーバを実行する必要があると判定してもよい。
In step S103, the
テイクオーバが必要であると判定されると(ステップS103:Y)、ステップS104において、プロセス監視システム100は、サーバ201における当該プロセスに対してテイクオーバを実行し、サーバ202の代替プロセスを起動することによって、当該プロセスに係る処理を続行する。他方、テイクオーバが必要でないと判定されると(ステップS103:N)、プロセス監視システム100は、所定の間隔の経過後にステップS101を再開する。
If it is determined that a takeover is necessary (step S103: Y), in step S104, the
以上、本発明の実施例について詳述したが、本発明は上述した特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。 As mentioned above, although the Example of this invention was explained in full detail, this invention is not limited to the specific embodiment mentioned above, In the range of the summary of this invention described in the claim, various deformation | transformation・ Change is possible.
10 情報処理システム
100 プロセス監視システム
110 発信部
120 受信部
130 判定部
140 移行指示部
201,202 サーバ
250 データベース
300 端末装置
DESCRIPTION OF
Claims (6)
前記1組のプロセス監視電文に対する応答の受信状態に基づき、前記プロセスが故障状態であるか判定するステップと、
をコンピュータに実行させるプロセス監視プログラム。 Sending each process monitoring message of a set of process monitoring messages with a minute time difference to the process to be monitored;
Determining whether the process is in a failure state based on a reception state of a response to the set of process monitoring messages;
Process monitoring program that causes a computer to execute.
前記1組のプロセス監視電文に対する応答を受信する受信部と、
前記応答の受信状態に基づき、前記プロセスが故障状態であるか判定する判定部と、を有するプロセス監視システム。 A sending unit that sends each process monitoring message of a set of process monitoring messages with a minute time difference to the process to be monitored;
A receiver for receiving a response to the set of process monitoring messages;
A determination unit that determines whether the process is in a failure state based on a reception state of the response.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013053142A JP6309711B2 (en) | 2013-03-15 | 2013-03-15 | Process monitoring program and process monitoring system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013053142A JP6309711B2 (en) | 2013-03-15 | 2013-03-15 | Process monitoring program and process monitoring system |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017219896A Division JP6368842B2 (en) | 2017-11-15 | 2017-11-15 | Process monitoring program and process monitoring system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014178947A JP2014178947A (en) | 2014-09-25 |
JP6309711B2 true JP6309711B2 (en) | 2018-04-11 |
Family
ID=51698813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013053142A Active JP6309711B2 (en) | 2013-03-15 | 2013-03-15 | Process monitoring program and process monitoring system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6309711B2 (en) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2677240B2 (en) * | 1995-04-26 | 1997-11-17 | 日本電気株式会社 | Automatic restart processor for AIN system |
JP2007515711A (en) * | 2003-11-26 | 2007-06-14 | エフエックス アライアンス,エルエルシー | Asset trading system considering waiting time |
JP2006350694A (en) * | 2005-06-16 | 2006-12-28 | Hitachi Electronics Service Co Ltd | Monitor system, monitor device, and remote terminal |
WO2008105031A1 (en) * | 2007-02-28 | 2008-09-04 | Fujitsu Limited | Cluster system and node switching method |
JP2011253475A (en) * | 2010-06-04 | 2011-12-15 | Mitsubishi Electric Corp | Computing system |
-
2013
- 2013-03-15 JP JP2013053142A patent/JP6309711B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014178947A (en) | 2014-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10924538B2 (en) | Systems and methods of monitoring software application processes | |
US11334468B2 (en) | Checking a correct operation of an application in a cloud environment | |
JP2001101033A (en) | Fault monitoring method for operating system and application program | |
US20080288812A1 (en) | Cluster system and an error recovery method thereof | |
JP6160171B2 (en) | Information processing apparatus, control method, program, and information processing system | |
US20200228293A1 (en) | Systems and methods for improved uptime for network devices | |
US9210059B2 (en) | Cluster system | |
US7162714B2 (en) | Software-based watchdog method and apparatus | |
TW200426571A (en) | Policy-based response to system errors occurring during os runtime | |
US8880552B2 (en) | Database system and database control method | |
JP6368842B2 (en) | Process monitoring program and process monitoring system | |
JP6309711B2 (en) | Process monitoring program and process monitoring system | |
US11954509B2 (en) | Service continuation system and service continuation method between active and standby virtual servers | |
JP4968568B2 (en) | Fault monitoring method, fault monitoring system and program | |
CN112367386B (en) | Ignite-based automatic operation and maintenance method and device and computer equipment | |
JP6654662B2 (en) | Server device and server system | |
JP3325785B2 (en) | Computer failure detection and recovery method | |
JP4863984B2 (en) | Monitoring processing program, method and apparatus | |
CN111712801A (en) | Device with networking function | |
JP3812434B2 (en) | Health check method | |
JP2007026038A (en) | Path monitoring system, path monitoring method and path monitoring program | |
WO2015015544A1 (en) | Information processing system, device, method, and program | |
JPH02310755A (en) | Health check system | |
Cotroneo et al. | Adaptive monitoring in microkernel OSs | |
JPH10334009A (en) | Client fault detecting method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20151204 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160908 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160920 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161025 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20161206 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20170224 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171115 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180315 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6309711 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |