JP4459185B2 - コンピュータ・システム - Google Patents

コンピュータ・システム Download PDF

Info

Publication number
JP4459185B2
JP4459185B2 JP2006091704A JP2006091704A JP4459185B2 JP 4459185 B2 JP4459185 B2 JP 4459185B2 JP 2006091704 A JP2006091704 A JP 2006091704A JP 2006091704 A JP2006091704 A JP 2006091704A JP 4459185 B2 JP4459185 B2 JP 4459185B2
Authority
JP
Japan
Prior art keywords
error
computer
log information
monitoring
business processing
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
Application number
JP2006091704A
Other languages
English (en)
Other versions
JP2007265215A (ja
Inventor
正尚 西尾
寿樹 田中
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.)
MUFG Bank Ltd
Original Assignee
Bank of Tokyo Mitsubishi UFJ Trust Co
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 Bank of Tokyo Mitsubishi UFJ Trust Co filed Critical Bank of Tokyo Mitsubishi UFJ Trust Co
Priority to JP2006091704A priority Critical patent/JP4459185B2/ja
Publication of JP2007265215A publication Critical patent/JP2007265215A/ja
Application granted granted Critical
Publication of JP4459185B2 publication Critical patent/JP4459185B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明はコンピュータ・システムに係り、特に、アプリケーション・プログラムが業務処理用コンピュータによって実行されることで業務処理用コンピュータ上で所定の業務処理が行われるコンピュータ・システムに関する。
コンピュータ・システムにおいて、障害の発生を監視し、障害が発生した場合に直ちに対処することで、障害発生の影響を最小限に止めることは非常に重要であり、この種の技術として、例えば特許文献1には、障害監視コンピュータを設置すると共に、障害監視コンピュータと監視センタ用コンピュータを、ネットワークを介して情報を送受可能とし、障害監視コンピュータがping応答確認により障害を検知した場合に監視センタ用コンピュータへ障害検知信号を送出することで、監視対象ネットワークにおける障害発生等を、遠隔の監視センタで迅速かつ的確に把握することを可能とする技術が提案されている。
また、特許文献2には、複数台のコンピュータが接続されたコンピュータネットワークにおいて、個々のコンピュータが機器の識別情報と機器の状態情報をパケットにしたデータを交換し、所定周期で受信しているパケットが連続して複数回未受信となった場合に障害発生と判断して通報する技術が開示されている。
特開2001−298426号公報 特開2001−75837号公報
上記の特許文献1,2の技術は、何れもコンピュータ・システム内の別のコンピュータが監視対象のコンピュータへ何らかの情報を送信し、監視対象のコンピュータから応答が有ったか否かに基づいて監視対象のコンピュータにおける障害の発生を検知する技術であり、監視対象のコンピュータに電源断により稼働が停止した等の障害が発生した場合には検知可能である。しかし、コンピュータ上では通常、オペレーティング・システムのプログラムを含む複数のプログラムが並列に実行されており、コンピュータ自体は正常に稼働しているものの、何らかの理由で、実行中の複数のプログラムのうちの一部のプログラムの動作(当該プログラムによる処理)が滞ってしまう状況も生じ得る。これに対し特許文献1,2に記載の技術では、監視対象のコンピュータ上で実行されている複数のプログラムのうち、特定のアプリケーション・プログラムが正常に動作しているか否かを確認することはできない。
また、監視対象のコンピュータ上で動作しているオペレーティングシステムに対し、特定アプリケーションが監視対象のコンピュータ上でプロセスとして実行中か否かを外部から問い合わせれば、特定アプリケーションが監視対象のコンピュータ上でプロセスとして実行中か否かを確認することは可能である。しかし、特定アプリケーションがプロセスとして実行中であっても動作(処理)が滞ってしまっている状況も生じ得るので、特定アプリケーションが監視対象のコンピュータ上でプロセスとして実行中であったとしても、特定アプリケーションが正常に動作している保障はない。
本発明は上記事実を考慮して成されたもので、対応するプログラムがコンピュータによって実行されることで実現される特定アプリケーションの動作状態を判別できるコンピュータ・システムを得ることが目的である。
上記目的を達成するために請求項1記載の発明に係るコンピュータ・システムは、対応するアプリケーション・プログラムが業務処理用コンピュータによって実行されることで前記業務処理用コンピュータ上で動作し、処理対象の電文が有るか否かを判定し、処理対象の電文が有る場合は処理対象の電文に応じた所定の業務処理を行い、生存通知を送信する送信処理を前回行ってから前記所定の業務処理を行うべき処理対象の電文が無い状態が所定時間以上継続した場合前記送信処理を行い、前記送信処理を前回行ってから前記所定の業務処理を行うべき処理対象の電文が無い状態が所定時間以上継続することなく、前記送信処理を前回行ってから前記所定の業務処理を行った処理対象の電文の数が一定値に達した場合は前記送信処理を行うアプリケーション手段と、前記業務処理用コンピュータ又は前記業務処理用コンピュータと通信回線を介して接続された別のコンピュータ上で動作し、前記アプリケーション手段より前記生存通知を受信すると共に、前記アプリケーション手段より最後に生存通知を受信してからの経過時間に基づいて前記アプリケーション手段の動作状態を判別する監視手段と、を含んで構成されている。
請求項1記載の発明に係るコンピュータ・システムは、1台のコンピュータ(業務処理用コンピュータ)又は業務処理用コンピュータを含む複数台のコンピュータを含んで構成されている。業務処理用コンピュータ上では、対応するアプリケーション・プログラムが業務処理用コンピュータによって実行されることで、処理対象の電文が有るか否かを判定し、処理対象の電文が有る場合は処理対象の電文に応じた所定の業務処理を行うアプリケーション手段が動作しており、監視手段は、業務処理用コンピュータ又は業務処理用コンピュータと通信回線を介して接続された別のコンピュータ上で動作している。ここで、請求項1記載の発明に係るアプリケーション手段は、生存通知を送信する送信処理を前回行ってから所定の業務処理を行うべき処理対象の電文が無い状態が所定時間以上継続した場合送信処理を行い、送信処理を前回行ってから所定の業務処理を行うべき処理対象の電文が無い状態が所定時間以上継続することなく、送信処理を前回行ってから所定の業務処理を行った処理対象の電文の数が一定値に達した場合は送信処理を行う。また、請求項1記載の発明に係る監視手段は、アプリケーション手段より生存通知を受信すると共に、アプリケーション手段より最後に生存通知を受信してからの経過時間に基づいてアプリケーション手段の動作状態を判別する。
このように、請求項1記載の発明では、生存通知を送信する送信処理を前回行ってから所定の業務処理を行うべき処理対象の電文が無い状態が所定時間以上継続した場合送信処理を行い、送信処理を前回行ってから所定の業務処理を行うべき処理対象の電文が無い状態が所定時間以上継続することなく、送信処理を前回行ってから所定の業務処理を行った処理対象の電文の数が一定値に達した場合は送信処理を行うようにアプリケーション手段を構成することで、アプリケーション手段から生存通知を定期的に送信させているので、アプリケーション手段から生存通知が定期的に送信されている場合には、アプリケーション手段の動作状態は正常と判断できる一方で、アプリケーション手段からの生存通知の送信が途絶えたり、生存通知の送信間隔が非常に大きくなった場合には、アプリケーション手段が動作が滞っている状態と判断できる。上記に基づき、アプリケーション手段からの生存通知を受信する監視手段は、アプリケーション手段より最後に生存通知を受信してからの経過時間に基づいてアプリケーション手段の動作状態を判別するので、請求項1記載の発明によれば、対応するプログラム(アプリケーション・プログラム)がコンピュータ(業務処理用コンピュータ)によって実行されることで実現される特定アプリケーション(アプリケーション手段)の動作状態を判別することができる。
なお、特定アプリケーションの動作状態を判別することは、特定アプリケーションに対して監視手段が動作状態を問い合わせる問い合わせ情報を送信し、問い合わせ情報に対する応答を特定アプリケーションから受信したか否か等を判断することで行うことも可能であるが、この場合、問い合わせ情報を受信したか否かを常時監視し、問い合わせ情報を受信した場合には応答を送信する処理を、本来行うべき業務処理と並行して行うように特定アプリケーションを構成する必要があるので、特定アプリケーションに負荷が加わり、特定アプリケーションが本来行うべき業務処理の遅延等が生ずる恐れがある。
これに対して請求項1記載の発明において、アプリケーション手段を、生存通知を送信する送信処理を前回行ってから所定の業務処理を行うべき処理対象の電文が無い状態が所定時間以上継続した場合送信処理を行い、送信処理を前回行ってから所定の業務処理を行うべき処理対象の電文が無い状態が所定時間以上継続することなく、送信処理を前回行ってから所定の業務処理を行った処理対象の電文の数が一定値に達した場合は送信処理を行うように構成することは、例えば、送信処理を行う毎に、所定時間をタイマ値とするタイマをスタートさせると共にカウンタの値をリセットし、処理対象の電文が有ると判定する度に、処理対象の単一の電文に応じた処理の業務処理を行ってカウンタの値を更新すると共に前記タイマを再スタートさせ、前記タイマがタイムアウトするか前記カウンタの値が一定値になった場合に前記送信処理を行う、というごく簡単な処理をアプリケーション手段に行わせることによって実現することができるので、業務処理の処理効率の低下やアプリケーション手段による処理のオーバヘッドの増大を招くことも回避することができる。なお、請求項1記載の発明において、監視手段がアプリケーション手段から生存通知を受信した場合、受信した生存通知に対する応答をアプリケーション手段へ送信するように構成することが望ましい。
また、請求項1記載の発明において、監視手段は、例えば請求項に記載したように、アプリケーション手段より生存通知を受信する毎に、生存通知の受信時刻を含む情報を第2記憶手段にログ情報として記憶させるように構成することが好ましい。
監視手段へ生存通知を送信する送信処理をアプリケーション手段が定期的に行う場合、監視手段がアプリケーション手段から生存通知を定期的に受信している間は、アプリケーション手段の動作状態は正常と判断することができ、生存通知の受信時間間隔が長くなってきた場合には、アプリケーション手段に大きな負荷が加わっているか、アプリケーション手段の動作状態が不調になっている可能性が高いと判断できる。このように、アプリケーション手段の動作状態は生存通知の受信時間間隔から判断することができ、上記のように、監視手段が生存通知を受信する毎に、生存通知の受信時刻を含む情報をログ情報として記憶させることで、アプリケーション手段の動作が滞った等の場合にも、ログ情報を参照することで、どの時点までは動作状態が正常であったかや、動作が滞る以前のアプリケーション・プログラムの動作状況等を把握することが可能となり、原因を解析してアプリケーション手段の動作を早期に復旧させることが可能となる。
また請求項1記載の発明において、例えば請求項に記載したように、アプリケーション手段は、所定の業務処理を行ってエラーが発生した場合に監視手段へエラー情報を送信し、監視手段は、アプリケーション手段からエラー情報を受信する毎に、受信したエラー情報を第2記憶手段にエラーログ情報として記憶させるように構成することが好ましい。これにより、所定の業務処理でエラーが発生した場合にも検知できると共に、第2記憶手段に記憶されたエラーログ情報を参照することで、発生したエラーの内容を把握することが可能となる。
また、請求項記載の発明において、監視手段が動作するコンピュータと通信回線を介して接続された監視用コンピュータがコンピュータ・システムに設けられている場合、監視手段は、例えば請求項に記載したように、アプリケーション手段からエラー情報を受信した場合に、監視用コンピュータへエラーの発生を通知するように構成することが好ましい。これにより、コンピュータ・システムを管理する管理者が、所定の業務処理でエラーが発生したことを監視用コンピュータを通じて認識することが可能となり、第2記憶手段に記憶されたエラーログ情報の参照・解析/分析等を行って必要な対策を講ずることができる。
また、請求項に記載のログ情報はコンピュータ・システムを管理する管理者が参照する情報であるが、アプリケーション手段が行う処理の業務処理が、ユーザからの依頼に従って行う処理である場合、請求項記載の発明に係るエラーログ情報をユーザが閲覧・確認したいというニーズが生ずる。請求項記載の発明において、アプリケーション手段が各々動作する複数台の業務処理用コンピュータと、複数台の業務処理用コンピュータと通信回線を介して各々接続された監視用コンピュータ及びログ情報管理用コンピュータが各々設けられている場合、上記のニーズを満たすために、例えば請求項に記載したように、監視手段は、ログ情報管理用コンピュータ上で動作し、複数台の業務処理用コンピュータ上で動作する個々のアプリケーション手段から生存通知及びエラー情報を各々受信し、ログ情報管理用コンピュータに設けられた第2記憶手段にログ情報又はエラーログ情報として記憶させる第1監視手段、及び、少なくとも1つの業務処理用コンピュータ上で動作し、第1監視手段が生存通知又はエラー情報を受信する毎に第1監視手段から生存通知又はエラー情報が転送され、個々のアプリケーション手段から第1監視手段を経由して生存通知を受信した時間間隔に基づいて個々のアプリケーション手段の動作状態を判別し、任意のアプリケーション手段の動作状態が異常と判断した場合に監視用コンピュータへ通知すると共に、任意のアプリケーション手段から第1監視手段を経由してエラー情報を受信した場合に監視用コンピュータへエラーの発生を通知する第2監視手段から成り、ログ情報管理用コンピュータには、ログ情報管理用コンピュータ上で動作し、ログ情報管理用コンピュータと通信回線を介して接続された端末装置からエラーログ情報の配信が要求された場合に、配信対象のエラーログ情報を第2記憶手段から読み出して配信要求元の端末装置へ転送するログ情報管理手段が設けられていることが好ましい。
請求項記載の発明では、ログ情報管理用コンピュータ上で動作する第1監視手段が、複数台の業務処理用コンピュータ上で動作するアプリケーション手段から生存通知及びエラー情報を各々受信することで、個々の業務処理用コンピュータのアプリケーション手段に対応するエラーログ情報(及びログ情報)が、ログ情報管理用コンピュータに設けられた第2記憶手段に一元管理されることになる。また、端末装置からエラーログ情報の配信が要求されると、配信対象のエラーログ情報が第2記憶手段から読み出されて配信要求元の端末装置へ転送されるので、エラーログ情報の閲覧・確認を所望しているユーザが、端末装置を介してエラーログ情報をオンラインで閲覧・確認することが可能となり、エラーログ情報の閲覧・確認を所望しているユーザの利便性が向上する。また、個々の業務処理用コンピュータのアプリケーション手段に対応するエラーログ情報がログ情報管理用コンピュータに一元管理され、閲覧に供せられることで、閲覧・確認対象のエラーログ情報に対応するエラーが、複数台の業務処理用コンピュータのうちの何れの業務処理用コンピュータで行われた業務処理で発生したエラーかをユーザが意識する必要もなくなる。
また、請求項記載の発明において、アプリケーション手段が各々動作する複数台の業務処理用コンピュータと、複数台の業務処理用コンピュータと通信回線を介して各々接続されたログ情報管理用コンピュータが各々設けられている場合、前述のニーズを満たすために、例えば請求項に記載したように、監視手段は、個々の業務処理用コンピュータ上で各々動作し、同一の業務処理用コンピュータ上で動作するアプリケーション手段から生存通知及び前記エラー情報を各々受信し、同一の業務処理用コンピュータに設けられた第2記憶手段にログ情報又はエラーログ情報として記憶させ、個々の業務処理用コンピュータには、個々の業務処理用コンピュータ上で各々動作し、同一の業務処理用コンピュータに設けられた第2記憶手段に記憶されているエラーログ情報をログ情報管理用コンピュータへ定期的に転送する転送手段が設けられており、ログ情報管理用コンピュータには、ログ情報管理用コンピュータ上で動作し、任意の前記業務処理用コンピュータからエラーログ情報を受信する毎に、ログ情報管理用コンピュータに設けられた第3記憶手段に受信したエラーログ情報を記憶させると共に、ログ情報管理用コンピュータと通信回線を介して接続された端末装置からエラーログ情報の配信が要求された場合に、配信対象のエラーログ情報を第3記憶手段から読み出して配信要求元の端末装置へ転送するログ情報管理手段が設けられていることがより好ましい。
請求項記載の発明では、個々の業務処理用コンピュータのアプリケーション手段に対応するエラーログ情報が、個々の業務処理用コンピュータに設けられた第2記憶手段に一旦記憶された後に、転送手段によってログ情報管理用コンピュータへ転送されることで、ログ情報管理用コンピュータに設けられた第3記憶手段に一元管理される。また、端末装置からエラーログ情報の配信が要求されると、配信対象のエラーログ情報が第3記憶手段から読み出されて配信要求元の端末装置へ転送されるので、請求項記載の発明と同様に、エラーログ情報の閲覧・確認を所望しているユーザが、端末装置を介してエラーログ情報をオンラインで閲覧・確認することが可能となり、エラーログ情報の閲覧・確認を所望しているユーザの利便性が向上すると共に、閲覧・確認対象のエラーログ情報に対応するエラーが、複数台の業務処理用コンピュータのうちの何れの業務処理用コンピュータで行われた業務処理で発生したエラーかをユーザが意識する必要もなくなる。
また、先に説明した請求項記載の発明では、第1監視手段がログ情報管理用コンピュータ上で動作し、個々の業務処理用コンピュータとログ情報管理用コンピュータの間で、生存通知が定常的に送受されると共にエラー発生時にはエラー情報も送受されると共に、第1監視手段が生存通知又はエラー情報を受信する毎に、業務処理用コンピュータ上で動作する第2監視手段に生存通知又はエラー情報が転送されるので、各コンピュータ間のトラフィック量が増大し、一部のコンピュータで処理遅延等の障害が発生した場合にコンピュータ・システム全体に波及し易いという欠点がある。これに対して請求項記載の発明では、個々の業務処理用コンピュータ上で動作するアプリケーション手段についてのログ情報の収集・第2記憶手段への記憶及び障害監視が、個々のアプリケーション手段と同一の業務処理用コンピュータ上で動作する監視手段によって行われ、個々のアプリケーション手段についてのログ情報の収集・第2記憶手段への記憶及び障害監視が個々の業務処理用コンピュータ内で完結しているので、コンピュータ間のトラフィック量の増大を抑制することができ、コンピュータ・システムの耐障害性を向上させることができる(一部のコンピュータで処理遅延等の障害が発生してもコンピュータ・システム全体に波及し難くなる)。また、コンピュータ・システムに新たな業務処理用コンピュータを追加することも容易に行うことができ、コンピュータ・システムの拡張性も向上させることができる。
以上説明したように本発明は、業務処理用コンピュータ上で動作し処理対象の電文が有るか否かを判定し、処理対象の電文が有る場合は処理対象の電文に応じた所定の業務処理を行うアプリケーション手段を、生存通知を送信する送信処理を前回行ってから所定の業務処理を行うべき処理対象の電文が無い状態が所定時間以上継続した場合送信処理を行い、送信処理を前回行ってから所定の業務処理を行うべき処理対象の電文が無い状態が所定時間以上継続することなく、送信処理を前回行ってから所定の業務処理を行った処理対象の電文の数が一定値に達した場合は送信処理を行うように構成し、アプリケーション手段より最後に生存通知を受信してからの経過時間に基づいてアプリケーション手段の動作状態を判別するようにしたので、対応するプログラムがコンピュータによって実行されることで実現される特定アプリケーションの動作状態を判別できる、という優れた効果を有する。
以下、図面を参照して本発明の実施形態の一例を詳細に説明する。図1には本実施形態に係るコンピュータ・システム10が示されている。コンピュータ・システム10は、端末装置12を含んで構成された第1のコンピュータ・システム14と第2のコンピュータ・システム16の間に設けられており、第1のコンピュータ・システム14から送信された電文及び第2のコンピュータ・システム16から送信された電文を各々受信し、受信した電文の内容に応じた所定の処理(業務処理)を行った後に、他方のコンピュータ・システムへ送信する機能を有している。
なお、例えば第2のコンピュータ・システム16としては、金融機関に設置され、金融機関の顧客から指示された金融取引を行う金融取引システムを適用することができ、第1のコンピュータ・システム14としては、金融機関の顧客が端末装置12を介して所望の金融取引を指示するためのコンピュータ・システムを適用することができる。この場合、本実施形態に係るコンピュータ・システム10は、業務処理として、受信した電文を送信先のコンピュータ・システムに適合したフォーマットへ変換する等の処理を行うように構成することができるが、本発明に係る業務処理としては任意の処理を適用可能である。
図1に示すように、コンピュータ・システム10は2台のデータベース・サーバ20A,20Bと、複数台のアプリケーション・サーバ30(図には2台のアプリケーション・サーバ30A,30Bを示す)と、複数台のウェブ・サーバ40(図には2台のウェブ・サーバ40A,40Bを示す)と、監視用コンピュータ50を含んで構成されており、これらの各サーバ及びコンピュータは通信回線52を介して互いに接続されている。なお、本実施形態に係るコンピュータ・システム10では、データベース・サーバ20については2台のデータベース・サーバ20A,20Bの何れか一方のみ稼働され(稼働中のデータベース・サーバ20に重大な障害が発生した場合に、待機中のデータベース・サーバ20が稼働中に切り替わる)、アプリケーション・サーバ30及びウェブ・サーバ40については全台のサーバが常時稼働される。
データベース・サーバ20は、CPU22、RAM等から成るメモリ24、ハードディスクドライブ(HDD)66、ネットワークインタフェース(I/F)部28を備えており、ネットワークI/F部28を介して通信回線52に接続されており、更に通信回線を介して第1のコンピュータ・システム14及び第2のコンピュータ・システム16に各々接続されている。データベース・サーバ20のHDD26には電文格納テーブルが記憶されており、CPU22が電文処理を行うための電文処理プログラムがインストールされている。
この電文処理プログラムがCPU22によって実行されることでデータベース・サーバ20上で動作する電文処理モジュールは、第1のコンピュータ・システム14及び第2のコンピュータ・システム16から電文を受信し、受信した電文について業務処理を行う複数台のアプリケーション・サーバ30に加わる負荷が均一となるように、受信した電文を処理するアプリケーション・サーバ30を決定し、決定したアプリケーション・サーバ30を宛先として設定した電文を電文格納テーブルに格納させると共に、アプリケーション・サーバ30による業務処理が完了した電文を、電文送信先のコンピュータ・システムへ送信する電文処理を行う。
また、アプリケーション・サーバ30は、CPU32、RAM等から成るメモリ34、HDD36、ネットワークI/F部38を備えており、ネットワークI/F部38を介して通信回線52に接続されている。アプリケーション・サーバ30のHDD36には、CPU32が業務処理(後述)を行うための業務処理プログラムと、CPU32が障害監視処理(後述)を行うための障害監視プログラムが各々インストールされている。なお、アプリケーション・サーバ30は本発明に係る業務処理用コンピュータに、業務処理プログラムは本発明に係るアプリケーション・プログラムに対応しており、CPU32が業務処理プログラムを実行することでアプリケーション・サーバ30上で動作する処理モジュール(業務処理モジュール)は本発明に係るアプリケーション手段(詳しくは請求項1,5に記載のアプリケーション手段)に対応している。また、CPU32が障害監視プログラムを実行することでアプリケーション・サーバ30上で動作する処理モジュール(監視モジュール)は本発明に係る監視手段(詳しくは、請求項に記載の監視手段及び請求項に記載の第2監視手段)に対応している。
また、ウェブ・サーバ40は、CPU42、RAM等から成るメモリ44、HDD46、ネットワークI/F部48を備えており、ネットワークI/F部48を介して通信回線52に接続されている。ウェブ・サーバ40のHDD46には、CPU42がログサービス処理(後述)を行うためのログサービスプログラムと、CPU42が画面制御処理を行うための画面制御プログラムが各々インストールされており、ログ情報及びエラーログ情報を格納するためのログファイルも記憶されている。CPU42がログサービスプログラムを実行することでウェブ・サーバ40上で動作する処理モジュール(ログサービスモジュール)は、アプリケーション・サーバ30上で動作する監視モジュールと共に本発明に係る監視手段に対応しており、詳しくは請求項2,3に記載の監視手段及び請求項に記載の第1監視手段に対応している。また、本実施形態に係るコンピュータ・システム10は本発明に係るコンピュータ・システム、より詳しくは請求項に記載のコンピュータ・システムに対応しており、ウェブ・サーバ40は請求項に記載のログ情報管理用コンピュータに対応している。
ログサービスモジュールは、個々のアプリケーション・サーバ30上で業務処理モジュールが正常に動作している間、個々の業務処理モジュールに対応するログ情報をログファイルに格納すると共に、個々の業務処理モジュールからエラーの発生が通知される毎に、通知されたエラーをエラーログ情報としてログファイルに格納する処理を行うが(詳細は後述)、ウェブ・サーバ40は、ログファイルに格納された各情報のうちのエラーログ情報を、第1のコンピュータ・システム14の端末装置12を介して閲覧することを可能とする機能を提供している。
この機能は、CPU42が画面制御プログラムを実行することでウェブ・サーバ40上で動作する処理モジュール(画面制御モジュール)によって実現され、画面制御モジュールは、端末装置12を介してエラーログ情報の閲覧が要求された場合に、閲覧対象のエラーログ情報をログファイルから読み出し、読み出したエラーログ情報を端末装置12のディスプレイに表示させるための表示画面を生成し、生成した表示画面の情報を閲覧要求元の端末装置12へ配信する。これにより、端末装置12のディスプレイにエラーログ情報が表示される。なお、上記の画面制御モジュールは請求項に記載のログ情報管理手段に対応している。
また、監視用コンピュータ50はコンピュータ・システム10を管理する管理者によって使用されるコンピュータであり、請求項6に記載の監視用コンピュータに対応している。
次に本実施形態の作用として、個々のアプリケーション・サーバ30上で動作する業務処理モジュール及び監視モジュール、個々のウェブ・サーバ40上で動作するログサービスモジュールの各モジュールによって実現される処理について説明する。なお、以下では説明を簡単にするために、同時に稼働しているアプリケーション・サーバ30及びウェブ・サーバ40の台数を各々2台とし、各々2台のサーバの一方を1系(フローチャート上では「#1」と表記)、他方を2系(フローチャート上では「#2」と表記)と称して区別する。
1系のアプリケーション・サーバ30上で動作する業務処理モジュール及び2系のアプリケーション・サーバ30上で動作する業務処理モジュールは、各々図2に示す業務処理を行っている。この業務処理では、まずステップ60において、データベース・サーバ20のHDD26に記憶されている電文格納テーブル内に、自サーバ30宛の電文(処理対象電文)が格納されているか否か判定する。処理対象電文が格納されていない場合は判定が否定されてステップ62へ移行し、前回ハートビートを送信してからの経過時間が所定時間t1以上になったか否か判定する。この判定も否定された場合はステップ60に戻り、何れかの判定が肯定される迄ステップ60,62を繰り返す。
ステップ62の判定が肯定された場合はステップ64へ移行し、1系のウェブ・サーバ40上で動作しているログサービスモジュール(1系のログサービスモジュール)と通信可能な状態か否か判定する。1系のウェブ・サーバ40がダウンしている、或いは自サーバ30と1系のウェブ・サーバ40との間の通信回線に障害が発生している等の原因で1系のログサービスモジュールとの間にリンクが確立できない場合は、上記判定が否定されステップ65で1系のログサービスの障害発生を表す1系障害フラグに1をセットした後にステップ74へ移行するが、1系のログサービスモジュールと通信可能な状態であれば、ステップ64の判定が肯定されてステップ66へ移行し、1系のウェブ・サーバ40上で動作している1系のログサービスモジュールへハートビートを送信する。なお、このハートビートは自モジュールの動作状態が正常であることを表す所定桁数のメッセージIDを含む情報であり、本発明に係るアプリケーション手段が送信する生存通知に対応している。
ステップ68では、ステップ66で送信したハートビートに対する応答を1系のログサービスモジュールから受信したか否か判定する。判定が否定された場合はステップ70へ移行し、ステップ66でハートビートを送信してからの経過時間が所定時間t2以上になったか否か判定する。この判定も否定された場合はステップ68に戻り、何れかの判定が肯定される迄ステップ68,70を繰り返す。1系のログサービスモジュールからハートビートに対する応答を所定時間t2以内に受信できなかった場合には、ステップ70の判定が肯定されてステップ72へ移行し、1系のログサービスモジュールへのハートビートの再送信を行ってステップ68に戻る。
このように、本実施形態に係る業務処理では、1系のログサービスモジュールからハートビートに対する応答を受信する迄の間、所定時間t2が経過する毎に1系のログサービスモジュールへのハートビートの送信を繰り返しているが、これは本実施形態に係るコンピュータ・システム10において、処理対象電文に対して行う業務処理が非常に重要な処理であるので、ハートビートを受信したログサービスモジュールがログファイルへログ情報を書き込む処理と完全に同期させる必要があり、ログファイルへのログ情報の書き込みが完了したか確認できない状態でアプリケーション・サーバ30が業務処理を進めてしまうことを避けたいことが理由であり、上記のように完全に同期させる必要が無い場合には、ハートビートの再送信が所定回に達した時点でハートビートの再送信を打ち切るようにしてもよい。
また、1系のログサービスモジュールからハートビートに対する応答を受信すると、ステップ68の判定が肯定されてステップ74へ移行し、2系のウェブ・サーバ40上で動作しているログサービスモジュール(2系のログサービスモジュール)と通信可能な状態か否か判定する。この判定が否定された場合は、2系のログサービスモジュールへのハートビートの送信を行うことなくステップ75で2系のログサービスの障害発生を表す2系障害フラグに1をセットした後にステップ80へ移行するが、2系のログサービスモジュールと通信可能な状態であれば、ステップ74の判定が肯定されてステップ76へ移行し、2系のログサービスモジュールへハートビートを送信する。このハートビートも本発明に係るアプリケーション手段が送信する生存通知に対応している。
次のステップ77では、ハートビートに対する応答を2系のログサービスモジュールから受信したか否か判定する。判定が否定された場合はステップ78へ移行し、ハートビートを送信してからの経過時間が所定時間t2以上になったか否か判定する。この判定も否定された場合はステップ77に戻り、何れかの判定が肯定される迄ステップ77,80を繰り返す。2系のログサービスモジュールからハートビートに対する応答を所定時間t2以内に受信できなかった場合には、ステップ78の判定が肯定されてステップ79へ移行し、2系のログサービスモジュールへのハートビートの再送信を行ってステップ77に戻る。従って、1系のログサービスモジュールと同様に2系のログサービスモジュールに対しても、ハートビートに対する応答を受信する迄の間、所定時間t2が経過する毎にハートビートの送信が繰り返される。
そして2系のログサービスモジュールからハートビートに対する応答を受信すると、ステップ77の判定が肯定されてステップ80へ移行し、1系障害フラグ及び2系障害フラグの一方に1がセットされているか否か判定する。判定が否定された場合は何ら処理を行うことなくステップ60へ戻るが、判定が肯定された場合はステップ81へ移行し、障害が発生していないログサービスモジュールに対し、他系のログサービスモジュール(1がセットされている障害フラグに対応するログサービスモジュール)に障害が発生していることを通知する障害通知を送信する。次のステップ82では、障害が発生していないログサービスモジュールから障害通知に対する応答を受信したか否か判定し、判定が肯定される迄ステップ82を繰り返す。そして、応答を受信すると判定が肯定されてステップ60に戻る。
一方、前述のステップ60の判定において、電文格納テーブル内に処理対象電文が格納されていた場合は上記判定が肯定されてステップ84へ移行し、電文格納テーブルから処理対象電文を取り出し、取り出した処理対象電文に基づき、次のステップ86において、例えば処理対象電文を送信先のコンピュータ・システムに適合したフォーマットへ変換する等の業務処理を行う。ステップ88では、ステップ86の業務処理においてエラーが発生したか否か判定する。判定が否定された場合はステップ110へ移行し、前回ハートビートを送信してから所定件の処理対象電文について業務処理を行ったか否か判定する。判定が否定された場合はステップ60に戻り、電文格納テーブル内に処理対象電文が格納されている間、ステップ110の判定が肯定される迄ステップ60,ステップ84〜88,ステップ110を繰り返す。そして、前回ハートビートを送信してから業務処理を行った処理対象電文の件数が所定件に達すると、ステップ110の判定が肯定されてステップ64へ移行し、先に説明したステップ64〜ステップ82において、1系及び2系のログサービスモジュールへのハートビートの送信を順次行う。
上述したように、アプリケーション・サーバ30上で動作する業務処理モジュールは、処理対象電文が存在していないときには、1系及び2系のログサービスモジュールへのハートビートの送信を所定時間t1周期で行い、処理対象電文が存在しているときには、所定件の処理対象電文について業務処理を行う毎に、1系及び2系のログサービスモジュールへのハートビートの送信を行う。上記のタイミングで自発的に(能動的に)ハートビートを送信する処理は、他のモジュールから所定の情報を受信した場合にハートビートを送信する処理と比較して業務処理モジュールに加わる負荷が小さく、上記タイミングでハートビートを送信することに伴って業務処理の遅延等が生ずることを防止できる。なお、上記タイミングでハートビートの送信を行うことは請求項記載の発明に対応している。
また、ステップ86の業務処理でエラーが発生した場合には、ステップ88の判定が肯定されてステップ90へ移行し、1系のログサービスモジュールと通信可能か否か判定し、通信可能であれば、発生したエラーの内容を表すエラー情報(このエラー情報には発生したエラーの種類に対応するエラーコード等の情報が含まれる)を1系のログサービスモジュールへ送信し(ステップ92)、エラー情報に対する応答を1系のログサービスモジュールから受信したか否か判定し(ステップ94)、応答を未受信であればエラー情報の送信から所定時間t2以上経過したか否か判定し(ステップ96)、エラー情報の送信から所定時間t2以上経過する毎に1系のログサービスモジュールへのエラー情報の再送信を行う(ステップ98)。
また、1系のログサービスモジュールと通信不能の場合又はエラー情報に対する応答を1系のログサービスモジュールから受信した場合は、2系のログサービスモジュールと通信可能か否か判定し(ステップ100)、通信可能であれば前述のエラー情報を2系のログサービスモジュールへ送信し(ステップ102)、エラー情報に対する応答を2系のログサービスモジュールから受信したか否か判定し(ステップ104)、応答を未受信であればエラー情報の送信から所定時間t2以上経過したか否か判定し(ステップ106)、エラー情報の送信から所定時間t2以上経過する毎に2系のログサービスモジュールへのエラー情報の再送信を行う(ステップ108)。
そして、2系のログサービスモジュールと通信不能の場合又はエラー情報に対する応答を2系のログサービスモジュールから受信した場合は前述のステップ110へ移行する。これにより、業務処理で発生したエラーの内容を表すエラー情報が、先に説明したステップ64〜ステップ82と同様にして1系及び2系のログサービスモジュールへ順次送信されることになる。上述した業務処理は、1系及び2系のアプリケーション・サーバ30上で動作する個々の業務処理モジュールによって各々行われる。
なお、データベース・サーバ20上で動作する電文処理モジュールにおいても、上記と同様に、受信電文が存在しないために電文処理を行っていない時には、所定時間t1周期で1系及び2系のログサービスモジュールへのハートビートの送信が行われ、受信電文に対して電文処理を行っている時には、所定件の受信電文に対して電文処理を行う毎に、1系及び2系のログサービスモジュールへのハートビートの送信が行われる。
次に1系で動作する1系のログサービスモジュール及び2系のウェブ・サーバ40上で動作する2系のログサービスモジュールによって各々実現されるログサービス処理(図3参照)、及び、1系のアプリケーション・サーバ30上で動作する1系の監視モジュール及び2系のアプリケーション・サーバ30上で動作する2系の監視モジュールによって各々実現される障害監視処理(図4参照)について順に説明する。なお、ログサービス処理及び障害監視処理は本発明に係る監視手段に相当する処理である。
ログサービスモジュールによって実現されるログサービス処理では、まずステップ120において、他のモジュールから何らかの情報を受信したか否か判定し、判定が肯定される迄ステップ120を繰り返す。他のモジュール(アプリケーション・サーバ30上で動作する業務処理モジュール又はデータベース・サーバ20上で動作する電文処理モジュール)から情報(ハートビート又はエラー情報又は障害通知)を受信すると、ステップ120の判定が肯定されてステップ121へ移行し、受信した情報が、業務処理モジュールから送信された障害通知(他系のログサービスモジュールの障害を通知する情報)か否か判定する。判定が肯定された場合はステップ134へ移行するが、判定が否定された場合はステップ122へ移行し、受信した情報が業務処理モジュール又は電文処理モジュールから送信されたハートビートであれば、ハートビートの受信時刻やハートビートに含まれるメッセージID、ハートビートの送信元識別情報等をログ情報としてログファイルに書き出し、受信した情報が業務処理モジュールから送信されたエラー情報であれば、受信したエラー情報に受信時刻や送信元識別情報等を付加し、エラーログ情報としてログファイルに書き出す。なお、ログファイルを記憶するウェブ・サーバ40のHDD46は請求項2,4,5に記載の第2記憶手段に対応している。
次のステップ124では、ステップ122でログファイルへのログ情報又はエラーログ情報の書き出しが成功したか否か判定する。判定が肯定された場合はステップ134へ移行し、1系のアプリケーション・サーバ30上で動作している監視モジュール(1系の監視モジュール)と通信可能な状態か否か判定する。1系の監視モジュールとの間にリンクが確立できない場合は上記判定が否定されてステップ138へ移行するが、1系の監視モジュールと通信可能な状態であれば、ステップ134の判定が肯定されてステップ136へ移行し、1系の監視モジュールに対して、先に受信した情報がハートビートであれば、当該ハートビートの送信元のモジュールが生存している(動作している)ことを意味する生存通知を送信し、先に受信した情報がエラー情報であれば、当該エラー情報の送信元の業務処理モジュールでエラーが発生したことを意味するエラー通知を送信し、先に受信した情報が障害通知であれば、他系(自モジュールが1系であれば2系、自モジュールが2系であれば1系)のログサービスモジュールで障害が発生したことを意味するエラー通知を送信する。
次のステップ138では、2系のアプリケーション・サーバ30上で動作している監視モジュール(2系の監視モジュール)と通信可能な状態か否か判定する。2系の監視モジュールとの間にリンクが確立できない場合は上記判定が否定されてステップ142へ移行するが、2系の監視モジュールと通信可能な状態であれば、ステップ138の判定が肯定されてステップ140へ移行し、2系の監視モジュールに対して先のステップ136と同様に生存通知又はエラー通知を送信する。そして、ステップ142では受信情報(ハートビート又はエラー情報又は障害通知)の送信元(1系の業務処理モジュール又は2系の業務処理モジュール又は電文処理モジュール)へ応答を送信し、ステップ120に戻る。
また、先のステップ122においてHDD46の障害等の理由でログファイルへのログ情報又はエラーログ情報の書き出しに失敗した場合には、ステップ124の判定が否定されてステップ126へ移行し、1系の監視モジュールと通信可能な状態か否か判定する。判定が否定された場合はステップ130へ移行するが、判定が肯定された場合は次のステップ128において、ログファイルへの情報の書き出しに失敗したことを意味するエラーコードを含むエラー通知を1系の監視モジュールへ送信する。また、ステップ130では2系の監視モジュールと通信可能な状態か否か判定する。判定が否定された場合はステップ134へ移行するが、判定が肯定された場合は次のステップ132において、上記のエラー通知を2系の監視モジュールへ送信した後にステップ134へ移行する。
従って、ログファイルへのログ情報又はエラーログ情報の書き出しに失敗した場合は、1系及び2系の監視モジュールに対し、上記のエラー通知を送信しログファイルへの書き出し失敗を通知した後に、他のモジュールから受信した情報に基づく生存通知又はエラー通知の送信が行われることになる。
一方、監視モジュールによって実現される障害監視処理(図4)では、まずステップ150で、他のモジュールから何らかの情報を受信したか否か判定する。個々の監視モジュールは1系及び2系のログサービスモジュールから生存通知及びエラー通知を各々受信すると共に、他系の監視モジュールからハートビートも受信する。ステップ150の判定が肯定された場合はステップ170へ移行し、受信した情報は1系又は2系のログサービスモジュールから送信されたエラー通知か否か判定する。
受信した情報が1系又は2系のログサービスモジュールから送信された生存通知、或いは他系の監視モジュールから送信されたハートビートである場合には、上記判定が否定されてステップ172へ移行し、HDD36に記憶されている最終受信日時テーブルを更新した後にステップ150に戻る。この最終受信日時テーブルは、ログサービスモジュールから受信する生存通知によって動作状態が正常であることが通知される各モジュール(1系及び2系の業務処理モジュール、電文処理モジュール)と、ハートビート送信元の他系の監視モジュールについて、生存通知又はハートビートを最後に受信した日時を各々登録するためのテーブルであり、ステップ172における最終受信日時テーブルの更新は、受信した情報に対応するモジュール(生存通知を受信した場合は当該生存通知によって動作状態が正常であることが通知された1系及び2系の業務処理モジュール、電文処理モジュールの何れか、ハートビートを受信した場合は他系の監視モジュール)の最終受信日時を現在の日時で上書きすることによって成される
また、受信した情報がエラー通知であった場合には、ステップ170の判定が肯定されてステップ174へ移行し、受信したエラー通知を監視用コンピュータ50へ転送することで、エラーの発生を監視用コンピュータ50へ通知する。監視モジュールが受信するエラー通知には、発生したエラーの種類を表すエラーコードが含まれており、このエラーコードは、発生したエラーが業務処理で発生したエラーである場合はエラーが発生した業務処理モジュールによって設定され、発生したエラーがログファイルへの情報の書き出し失敗である場合はログサービスモジュールによって設定され、発生したエラーが1系又は2系のログサービスモジュールの障害である場合はこの障害を検知した業務処理モジュールによって設定される。1系又は2系の監視モジュールからエラー通知を受信した場合、監視用コンピュータ50は、受信したエラー通知に含まれるエラーコードを対応するエラーメッセージに変換してディスプレイに表示する。これにより、コンピュータ・システム10の管理者は、コンピュータ・システム10内でどのようなエラーが発生したのかを直ちに認識することができ、必要に応じてエラー解消のための対処や再発防止のための対策を講ずることができる。
また、監視モジュールが他のモジュールから情報を受信していない場合は、ステップ150の判定が否定されてステップ152へ移行し、他系の監視モジュールへ前回ハートビートを送信してからの経過時間が所定時間t3以上となったか否か判定する。判定が否定された場合はステップ158へ移行するが、判定が肯定された場合は、ステップ154で他系の監視モジュールと通信可能な状態か否か判定する。この判定が否定された場合もステップ158へ移行するが、判定が肯定された場合は、ステップ156で他系の監視モジュールへハートビートを送信した後にステップ158へ移行する。このように、1系及び2系の監視モジュールは、他系の監視モジュールへのハートビートの送信を所定時間t3周期で行う。
ステップ158では最終受信日時テーブルを参照し、障害監視対象の各モジュール(1系及び2系の業務処理モジュール、電文処理モジュール、他系の監視モジュール)のうち、最終受信日時テーブルに記憶されている最終受信日時からの経過時間が閾値以上となっているモジュールを探索する。なお、上記の閾値は、最終受信日時テーブルに最終受信日時が登録されている各モジュール毎に設定されている。次のステップ160では、ステップ158の探索によって該当するモジュールが発見されたか否か判定する。この判定が否定された場合、障害監視対象の各モジュールは何れも動作状態が正常と判断できるので、何ら処理を行うことなくステップ150に戻る。
一方、ステップ158の探索で該当するモジュールが発見された場合、該当するモジュールには障害が発生している可能性が高いと判断できる。このため、ステップ160の判定が肯定された場合はステップ162へ移行し、ステップ158の探索で発見されたモジュールに障害が発生している可能性が高いことを監視用コンピュータ50へ通知する。この場合も、監視用コンピュータ50のディスプレイにメッセージが表示されることで、コンピュータ・システム10の管理者がコンピュータ・システム10の状況を把握することができ、必要に応じて障害復旧のための対処や再発防止のための対策を講ずることができる。またステップ164では、障害が発生している可能性が高いと判定したモジュールが何れのモジュールかに応じて処理を分岐する。
障害が発生している可能性が高いと判定したモジュールが1系又は2系の業務処理モジュールである場合には、ステップ164からステップ166へ移行し、データベース・サーバ20の電文格納テーブルに格納されている電文の宛先を参照し、障害が発生している可能性が高いと判定した業務処理モジュールが宛先に設定されている電文(障害が発生している可能性が高いと判定した業務処理モジュールで処理予定の電文)について、宛先を他系の業務処理モジュールへ書き替えた後にステップ150に戻る。この場合、データベース・サーバ20が受信した電文に対する業務処理は、全て他系の業務処理モジュールによって行われることになる。また、障害が発生している可能性が高いと判定したモジュールが電文処理モジュールである場合には、ステップ164からステップ168へ移行し、データベース・サーバ20上で電文処理モジュールを再起動した後にステップ150に戻る。なお本実施形態では、障害が発生している可能性が高いと判定した業務処理モジュールが他系の監視モジュールであった場合には何ら処理を行わず、管理者に対処を委ねているが、監視モジュールの再起動等の何らかの処理を行うようにしてもよい。
続いて、1系・2系のアプリケーション・サーバ30上で動作する1系・2系の業務処理モジュールが業務処理(図2)を各々行い、1系・2系のウェブ・サーバ40上で動作する1系・2系のログサービスモジュールがログサービス処理(図3)を各々行い、1系・2系のアプリケーション・サーバ30上で動作する1系・2系の監視モジュールが障害監視処理(図4)を行うことで実現される障害監視/検知シーケンスについて、図5〜図10を参照して更に説明する。
各サーバが正常に動作しており、各モジュールの動作状態も正常である場合、図5に示すシーケンスで障害監視が行われる。すなわち、1系のアプリケーション・サーバ30上で動作する1系の業務処理モジュールは、1系のウェブ・サーバ40上で動作する1系のログサービスモジュールへ定期的にハートビートを送信する(図5の(1))。1系のログサービスモジュールは、1系の業務処理モジュールからハートビートを受信する毎に、ログファイルにログ情報を書き出し(図5の(2))、1系の業務処理モジュールの生存通知を1系・2系の監視モジュールへ順次送信し(図5の(3),(4))、ハートビート送信元の1系の業務処理モジュールへ応答を送信する(図5の(5))。
1系・2系の監視モジュールでは、ログサービスモジュールから1系の業務処理モジュールの生存通知を受信すると、最終受信日時テーブルに登録されている1系の業務処理モジュールに対応する最終受信日時を更新し、更新後の最終受信日時からの経過時間に基づいて1系の業務処理モジュールにおける障害の発生を監視するが、1系の業務処理モジュールの動作状態が正常である場合、上記の経過時間が閾値に達する前に1系の業務処理モジュールの生存通知をログサービスモジュールから再度受信することで、1系の業務処理モジュールの動作状態が正常であると判断される。
なお、図5では1系の業務処理モジュールから1系のログサービスモジュールへのハートビートの送信に関連するシーケンスを示しているが、1系の業務処理モジュールからは2系のログサービスモジュールへもハートビートが送信され、同様に2系の業務処理モジュールからも1系・2系のログサービスモジュールへハートビートが送信され、同様にデータベース・サーバ20上で動作する電文処理モジュールからも1系・2系のログサービスモジュールへハートビートが送信され、各ハートビートについて上記のシーケンスが各々実行される。
また、1系の業務処理モジュールによる業務処理でエラーが発生した場合、図6に示すシーケンスで業務処理のエラーが検知される。すなわち、1系の業務処理モジュールは業務処理でエラーが発生すると1系のログサービスモジュールへエラー情報を送信する(図6の(1))。1系のログサービスモジュールは、1系の業務処理モジュールからエラー情報を受信すると、ログファイルにエラーログ情報を書き出し(図6の(2))、1系の業務処理モジュールによる業務処理におけるエラーの発生を通知するエラー通知を1系・2系の監視モジュールへ順次送信し(図6の(3),(4))、エラー情報送信元の1系の業務処理モジュールへ応答を送信する(図6の(5))。
上記のエラー検知シーケンスでは、1系・2系の監視モジュールへエラー通知が各々送信されるが、監視モジュールから監視用コンピュータ50へのエラー通知は、1系・2系の監視モジュールのうち先にエラー通知を受信した監視モジュールによって行われる。これにより、管理者は、監視用コンピュータ50を通じて、1系の業務処理モジュールによる業務処理でエラーが発生したことを認識し、必要に応じてエラー解消のための対処や再発防止のための対策を講ずることができる。なお、1系の業務処理モジュールからは2系のログサービスモジュールへもエラー情報が送信され、このエラー情報に対しても上記のシーケンスが実行される。また、2系の業務処理モジュールによる業務処理でエラーが発生した場合にも、上記と同様のシーケンスが実行される。また、上記のシーケンスでログファイルに書き出されたエラーログ情報は、第1のコンピュータ・システム14の端末装置12を介しての閲覧に供せられる。
また、1系の業務処理モジュールに障害が発生した場合(1系の業務処理モジュールがプロセスとして実行中であるものの動作が滞っている状態に陥った場合を含む)には、図7に示すシーケンスで1系の業務処理モジュールの障害が検知される。すなわち、1系の業務処理モジュールに障害が発生すると、1系の業務処理モジュールから1系のログサービスモジュールへのハートビートの送信(図7の(1))が滞るので、1系のログサービスモジュールによるログファイルへのログ情報の書き出し(図7の(2))、1系・2系の監視モジュールへの1系の業務処理モジュールの生存通知の送信(図7の(3),(4))も滞ることになる。これにより、1系・2系の監視モジュールにおいて、1系の業務処理モジュールの生存通知を最後に受信してからの経過時間が閾値以上となることで1系の業務処理モジュールの障害発生が検知され、1系・2系の監視モジュールのうちの何れかによって1系の業務処理モジュールの障害発生が監視用コンピュータ50へ通知される。
一方、2系の業務処理モジュールには障害は発生していないので、2系の業務処理モジュールは1系のログサービスモジュールへハートビートを送信し(図7の(5))、1系のログサービスモジュールは、2系の業務処理モジュールからのハートビートの受信を契機として、ログファイルへのログ情報の書き出し(図7の(6))、1系・2系の監視モジュールへの2系の業務処理モジュールの生存通知の送信(図7の(7),(8))、ハートビート送信元の2系の業務処理モジュールへの応答の送信(図7の(9))を順次行う。
1系・2系の監視モジュールが1系の業務処理モジュールの生存通知を一定時間以内に受信できない場合、原因としては、1系の業務処理モジュールでの障害発生以外に、ログサービスモジュールでの障害発生も考えられるが、管理者は、1系の業務処理モジュールの障害発生が監視用コンピュータ50を通じて通知されている一方で、2系の業務処理モジュールの障害発生が通知されていないことに基づいて、1系の業務処理モジュールに障害が発生したことを認識することができる(この例では、2系のログサービスモジュールからの1系の業務処理モジュールの生存通知も監視モジュールが一定時間以内に受信できないので、これに基づいて監視モジュールが「1系の業務処理モジュールの障害」と自動的に判断して監視用コンピュータ50に通知することも可能である)。
管理者は、1系の業務処理モジュールに障害が発生したことを認識すると、ログファイルに書き込まれているログ情報のうち、1系の業務処理モジュールに対応するログ情報を抽出・参照する。このログ情報には、1系の業務処理モジュールからハートビートを受信した時刻が含まれており、1系の業務処理モジュールからハートビートを最後に受信した時刻に基づいて、1系の業務処理モジュールがどの時点までは正常に動作していたのかを認識できると共に、1系の業務処理モジュールからハートビートの送信が途絶える以前のハートビートの受信時間間隔の変動等に基づき、障害発生以前の1系の業務処理モジュールの動作状態等も把握することができ(業務処理モジュールの動作状態が不良になるとハートビートの送信時間間隔も大きくなる)、ログ情報に基づいて発生した障害の原因解析等を行うことができる。
また監視モジュールは、1系の業務処理モジュールに障害が発生したと判断すると、電文格納テーブルに格納されている電文のうち1系の業務処理モジュールが宛先に設定されている電文について、宛先を2系の業務処理モジュールへ書き替える。これにより、データベース・サーバ20が受信した電文に対する業務処理は、全て2系の業務処理モジュールによって行われる。なお、2系の業務処理モジュールで障害が発生した場合にも、上記と同様のシーケンスが実行される。
また、1系のログサービスモジュールに障害が発生した場合には、図8に示すシーケンスで1系のログサービスモジュールの障害が検知される。すなわち、1系のログサービスモジュールに障害が発生すると、1系の業務処理モジュールから1系のログサービスモジュールへハートビートを送信できない(図8の(1))ので、1系のログサービスモジュールによるログファイルへのログ情報を書き出し、1系・2系の監視モジュールへの1系の業務処理モジュールの生存通知の送信も行われない。一方、2系のログサービスモジュールには障害は発生していないので、1系の業務処理モジュールは2系のログサービスモジュールへハートビートを送信し(図8の(2))、2系のログサービスモジュールは、1系の業務処理モジュールからのハートビートの受信を契機として、ログファイルへのログ情報の書き出し(図8の(3))、1系・2系の監視モジュールへの1系の業務処理モジュールの生存通知の送信(図8の(4),(5))、ハートビート送信元の1系の業務処理モジュールへの応答の送信(図8の(6))を順次行う。
1系の業務処理モジュールは、送信したハートビートに対する応答を2系のログサービスモジュールから受信すると、先に1系のログサービスモジュールへハートビートを送信できなかったことに基づいて障害通知を送信することで、1系のログサービスモジュールに障害が発生していることを2系のログサービスモジュールへ通知する(図7の(7))。2系のログサービスモジュールは、1系の業務処理モジュールから障害通知を受信すると、1系のログサービスモジュールに障害が発生していることを表すエラー通知を1系・2系の監視モジュールへ順次送信し(図8の(8),(9))、障害通知送信元の1系の業務処理モジュールへ応答を送信する(図8の(10))を順次行う。そして、1系・2系の監視モジュールのうちの何れかによって1系のログサービスモジュールの障害発生が監視用コンピュータ50へ通知される。管理者は、監視用コンピュータ50を通じて1系のログサービスモジュールの障害発生を認識することができ、必要に応じて障害復旧のための対処や再発防止のための対策を講ずることができる。
また、1系のログサービスモジュールでログファイルへのログ情報の書き出しに失敗した場合には、図9に示すシーケンスでログ情報の書き出し失敗(書き出し障害)が検知される。すなわち、1系の業務処理モジュールが1系のログサービスモジュールへハートビートを送信し(図9の(1))、このハートビートの受信を契機として1系のログサービスモジュールがログファイルへのログ情報の書き出しを行ったものの、当該書き出しに失敗した場合(図9の(2))、1系のログサービスモジュールは、まずログファイルへのログ情報の書き出しに失敗したことを通知するエラー通知を1系・2系の監視モジュールへ送信し(図9の(3),(4))た後に、1系の業務処理モジュールの生存通知を1系・2系の監視モジュールへ送信し(図9の(5),(6))、ハートビート送信元の1系の業務処理モジュールへ応答を送信する(図9の(7))。
そして、1系のログサービスモジュールから受信したエラー通知に基づき、1系・2系の監視モジュールのうちの何れかによって、1系のログサービスモジュールにおけるログファイルへのログ情報の書き出し失敗が監視用コンピュータ50へ通知される。管理者は、監視用コンピュータ50を通じて1系のログサービスモジュールにおいてログ情報の書き出しが失敗したことを認識することができ、必要に応じて復旧のための対処や再発防止のための対策を講ずることができる。
また、1系の監視モジュールに障害が発生した場合には、図10に示したシーケンスが実行される。1系の業務処理モジュールが1系のログサービスモジュールへハートビートを送信すると(図10の(1))、1系のログサービスモジュールは、このハートビートの受信を契機として、ログファイルへのログ情報の書き出し(図10の(2))、1系・2系の監視モジュールへの1系の業務処理モジュールの生存通知の送信(図10の(3),(4))、ハートビート送信元の1系の業務処理モジュールへの応答の送信(図10の(5))を順次行う。但し、1系の監視モジュールに、プロセスとして実行中であるものの動作が滞っている等の障害が発生した場合、1系のログサービスモジュールから1系の監視モジュールへ送信された生存通知は1系の監視モジュールで受信されない(1系のログサービスモジュールから1系の監視モジュールへエラー通知が送信された場合も同様)。
これに対して本実施形態では、1系・2系の監視モジュールが互いにハートビートを送信し合っており、上述した1系の監視モジュールの障害発生は、2系の監視モジュールにおいて、1系の監視モジュールからのハートビートの受信が途絶えることで2系の監視モジュールによって検知され、2系の監視モジュールから監視用コンピュータ50へ通知される。管理者は、監視用コンピュータ50を通じて1系の監視モジュールに障害が発生したことを認識することができ、必要に応じて復旧のための対処や再発防止のための対策を講ずることができる。
なお、上記では請求項に記載の第1監視手段に相当するログサービスモジュールをウェブ・サーバ40に設けると共に、請求項に記載の第2監視手段に相当する監視モジュールを個々のアプリケーション・サーバ30に各々設け、個々のアプリケーション・サーバ30上で動作する業務処理モジュールが、ウェブ・サーバ40上で動作するログサービスモジュールへハートビートを送信し、ハートビートを受信したログサービスモジュールはログファイルへログ情報を書き出すと共に、アプリケーション・サーバ30上で動作する監視モジュールへ生存通知を送信し、監視モジュールは生存通知の受信時間間隔に基づいて業務処理モジュールの動作状態が正常か否か判断する態様を説明したが、この態様は各サーバ間のトラフィック量(通信量)が多く、一部のサーバで処理遅延等の障害が発生した場合にコンピュータ・システム10全体に障害が波及し易いという欠点がある。例えばウェブ・サーバ40で処理遅延が発生し、業務処理モジュールがハートビートに対するログサービスモジュールの応答を所定時間以内に受信できない場合、業務処理モジュールによる業務処理も滞り、ウェブ・サーバ40の処理遅延がアプリケーション・サーバ30にも波及する。上記を考慮し、図11に示すようにコンピュータ・システムを構成してもよい。
図11に示すコンピュータ・システムでは、個々のアプリケーション・サーバ30に、業務処理モジュール及び監視モジュールに加えログサービスモジュール及びログ回収モジュールが設けられており、個々のアプリケーション・サーバ30のHDD36にはログファイルも記憶されている。個々のサーバ30上で動作する業務処理モジュールは、同一のサーバ30上で動作するログサービスモジュールへのみハートビート及びエラー情報を送信し(図11の(1))、ログサービスモジュールは、ハートビートの受信時には同一のサーバ30上のログファイルへログ情報を書き出し(図11の(2))、ハートビート送信元の業務処理モジュールへ応答を送信する(図11の(3))と共に、同一のサーバ30上で動作する監視モジュールへ業務処理モジュールの生存通知を送信する(図11の(4))。これにより、個々のサーバ30上で動作する監視モジュールは、同一のサーバ30上で動作する業務処理モジュールについてのみ動作状態が正常か否か判定し、動作状態が異常と判断した場合には監視用コンピュータ50へ通知する。
また、図示は省略するが、同一のサーバ30上で動作する業務処理モジュールからエラー情報を受信した場合、ログサービスモジュールは、同一のサーバ30上のログファイルへエラーログ情報を書き出し、エラー情報送信元の業務処理モジュールへ応答を送信し、同一のサーバ30上で動作する監視モジュールへ業務処理モジュールのエラー発生を通知するエラー通知を送信する。そして監視モジュールは、同一のサーバ30上で動作するログサービスモジュールからエラー通知を受信すると、受信したエラー通知を監視用コンピュータ50へ転送することで、同一のサーバ30上で動作する業務処理モジュールによる業務処理におけるエラーの発生を通知する。
このように、図11に示す態様では、業務処理モジュールからのハートビートの送信時にサーバ間の通信を行うことなく、ログ情報の書き出し及び業務処理モジュールの動作状態の判定を行うことができるので、サーバ間のトラフィック量を抑制することができ、コンピュータ・システムの耐障害性を向上させることができる。また、図11に示す態様においても、個々の業務処理モジュールが自発的にハートビートを送信するので、個々の業務処理モジュールの動作状態の判別が可能になると共に、業務処理モジュールの動作状態判別のために業務処理モジュールに大きな負荷が加わることで業務処理の遅延等が生ずることも回避することができる。
また、図11に示す態様では、個々のサーバ30上で動作する業務処理モジュールに対応するログ情報及びエラーログ情報が、個々のサーバ30に設けられたログファイルに分散されて記憶されることになる。このため、データベース・サーバ20のHDD26にはエラーログ情報を格納するためのログテーブルが設けられており、個々のサーバ30上で動作するログ回収モジュールは、第1のコンピュータ・システム14の端末装置12を介してエラーログ情報を閲覧可能とすることを目的として、業務処理モジュールからのハートビートやエラー情報の送信タイミングとは非同期に、同一のサーバ30に設けられたログファイルからエラーログ情報を読み出すことで回収し(図11の(a))、回収したエラーログ情報をデータベース・サーバ20へ転送する(図11の(b))。そして、データベース・サーバ20は、ログ回収モジュールから転送されたエラーログ情報をログテーブルに書き出すと共に、第1のコンピュータ・システム14の端末装置12からウェブ・サーバ40を介してエラーログ情報の配信が要求された場合に、配信対象のエラーログ情報をログテーブルから読み出しウェブ・サーバ40を介して配信要求元の端末装置12へ配信する処理を行う。これにより、端末装置12を介してエラーログ情報を閲覧することが可能となる。
なお、図11に示す態様に係るコンピュータ・システムは請求項記載の発明に対応しており、この態様において、データベース・サーバ20は請求項に記載のログ情報管理用コンピュータに、ログサービスモジュール及び監視モジュールは請求項に記載の監視手段に、ログ回収モジュールは請求項に記載の転送手段に各々対応しており、データベース・サーバ20上で動作し、ログ回収モジュールから転送されたエラーログ情報をログテーブルへ書き出すと共に、エラーログ情報の配信要求時に配信対象のエラーログ情報をログテーブルから読み出して配信する処理を行う処理モジュールは請求項に記載のログ情報管理手段に、データベース・サーバ20のHDD26は請求項に記載の第3記憶手段に対応している。
また、上記ではログファイルに書き出されるログ情報及びエラーログ情報のうち、エラーログ情報のみを端末装置12からの閲覧対象としていたが、これに限定されるものではなく、端末装置12からの閲覧対象にログ情報も加えてもよい
また、上記では本発明に係るコンピュータ・システムとして、第1のコンピュータ・システム14と第2のコンピュータ・システム16の間に設けられたコンピュータ・システム10を例に説明したが、本発明はこれに限定されるものではなく、他のコンピュータ・システムと接続されていない独立したコンピュータ・システムであってもよい。
本実施形態に係るコンピュータ・システムの概略ブロック図である。 業務処理モジュールで実行される業務処理を示すフローチャートである。 ログサービスモジュールで実行されるログサービス処理を示すフローチャートである。 監視モジュールで実行される障害監視処理を示すフローチャートである。 通常の障害監視シーケンスを示す説明図である。 アプリケーション・サーバの業務処理でエラーが発生した場合のエラー検知シーケンスを示す説明図である。 アプリケーション・サーバの業務処理に障害が発生した場合の障害検知シーケンスを示す説明図である。 ウェブ・サーバのログサービスに障害が発生した場合の障害検知シーケンスを示す説明図である。 ログファイルへのログ情報の書き出し障害が発生した場合の障害検知シーケンスを示す説明図である。 アプリケーション・サーバの監視モジュールに障害が発生した場合の障害検知シーケンスを示す説明図である。 別態様のコンピュータ・システムにおける障害監視シーケンスを示す説明図である。
符号の説明
10 コンピュータ・システム
12 端末装置
20 データベース・サーバ
20 データベース・サーバ
30 アプリケーション・サーバ
40 ウェブ・サーバ
50 監視用コンピュータ

Claims (6)

  1. 対応するアプリケーション・プログラムが業務処理用コンピュータによって実行されることで前記業務処理用コンピュータ上で動作し、処理対象の電文が有るか否かを判定し、処理対象の電文が有る場合は処理対象の電文に応じた所定の業務処理を行い、生存通知を送信する送信処理を前回行ってから前記所定の業務処理を行うべき処理対象の電文が無い状態が所定時間以上継続した場合前記送信処理を行い、前記送信処理を前回行ってから前記所定の業務処理を行うべき処理対象の電文が無い状態が所定時間以上継続することなく、前記送信処理を前回行ってから前記所定の業務処理を行った処理対象の電文の数が一定値に達した場合は前記送信処理を行うアプリケーション手段と、
    前記業務処理用コンピュータ又は前記業務処理用コンピュータと通信回線を介して接続された別のコンピュータ上で動作し、前記アプリケーション手段より前記生存通知を受信すると共に、前記アプリケーション手段より最後に生存通知を受信してからの経過時間に基づいて前記アプリケーション手段の動作状態を判別する監視手段と、
    を含むコンピュータ・システム。
  2. 前記監視手段は、前記アプリケーション手段より生存通知を受信する毎に、前記生存通知の受信時刻を含む情報を第2記憶手段にログ情報として記憶させることを特徴とする請求項1記載のコンピュータ・システム。
  3. 前記アプリケーション手段は、前記所定の業務処理を行ってエラーが発生した場合に前記監視手段へエラー情報を送信し、
    前記監視手段は、前記アプリケーション手段から前記エラー情報を受信する毎に、受信した前記エラー情報を第2記憶手段にエラーログ情報として記憶させることを特徴とする請求項1記載のコンピュータ・システム。
  4. 前記コンピュータ・システムには、前記監視手段が動作するコンピュータと通信回線を介して接続された監視用コンピュータが設けられており、
    前記監視手段は、前記アプリケーション手段から前記エラー情報を受信した場合に、前記監視用コンピュータへエラーの発生を通知することを特徴とする請求項3記載のコンピュータ・システム。
  5. 前記アプリケーション手段が各々動作する複数台の前記業務処理用コンピュータと、前記複数台の業務処理用コンピュータと通信回線を介して各々接続された監視用コンピュータ及びログ情報管理用コンピュータが各々設けられ、
    前記監視手段は、
    前記ログ情報管理用コンピュータ上で動作し、前記複数台の業務処理用コンピュータ上で動作する個々のアプリケーション手段から前記生存通知及び前記エラー情報を各々受信し、前記ログ情報管理用コンピュータに設けられた前記第2記憶手段にログ情報又はエラーログ情報として記憶させる第1監視手段、
    及び、少なくとも1つの業務処理用コンピュータ上で動作し、前記第1監視手段が前記生存通知又は前記エラー情報を受信する毎に前記第1監視手段から前記生存通知又は前記エラー情報が転送され、個々のアプリケーション手段から前記第1監視手段を経由して前記生存通知を受信した時間間隔に基づいて前記個々のアプリケーション手段の動作状態を判別し、任意のアプリケーション手段の動作状態が異常と判断した場合に前記監視用コンピュータへ通知すると共に、任意のアプリケーション手段から前記第1監視手段を経由して前記エラー情報を受信した場合に前記監視用コンピュータへエラーの発生を通知する第2監視手段から成り、
    前記ログ情報管理用コンピュータには、前記ログ情報管理用コンピュータ上で動作し、前記ログ情報管理用コンピュータと通信回線を介して接続された端末装置からエラーログ情報の配信が要求された場合に、配信対象のエラーログ情報を前記第2記憶手段から読み出して配信要求元の前記端末装置へ転送するログ情報管理手段が設けられていることを特徴とする請求項3記載のコンピュータ・システム。
  6. 前記アプリケーション手段が各々動作する複数台の前記業務処理用コンピュータと、前記複数台の業務処理用コンピュータと通信回線を介して各々接続されたログ情報管理用コンピュータが各々設けられ、
    前記監視手段は、個々の前記業務処理用コンピュータ上で各々動作し、同一の業務処理用コンピュータ上で動作するアプリケーション手段から前記生存通知及び前記エラー情報を各々受信し、前記同一の業務処理用コンピュータに設けられた第2記憶手段にログ情報又はエラーログ情報として記憶させ、
    個々の前記業務処理用コンピュータには、個々の前記業務処理用コンピュータ上で各々動作し、同一の業務処理用コンピュータに設けられた第2記憶手段に記憶されている前記エラーログ情報を前記ログ情報管理用コンピュータへ定期的に転送する転送手段が設けられており、
    前記ログ情報管理用コンピュータには、前記ログ情報管理用コンピュータ上で動作し、任意の前記業務処理用コンピュータからエラーログ情報を受信する毎に、前記ログ情報管理用コンピュータに設けられた第3記憶手段に前記受信したエラーログ情報を記憶させると共に、前記ログ情報管理用コンピュータと通信回線を介して接続された端末装置からエラーログ情報の配信が要求された場合に、配信対象のエラーログ情報を前記第3記憶手段から読み出して配信要求元の前記端末装置へ転送するログ情報管理手段が設けられていることを特徴とする請求項3記載のコンピュータ・システム。
JP2006091704A 2006-03-29 2006-03-29 コンピュータ・システム Expired - Fee Related JP4459185B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006091704A JP4459185B2 (ja) 2006-03-29 2006-03-29 コンピュータ・システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006091704A JP4459185B2 (ja) 2006-03-29 2006-03-29 コンピュータ・システム

Publications (2)

Publication Number Publication Date
JP2007265215A JP2007265215A (ja) 2007-10-11
JP4459185B2 true JP4459185B2 (ja) 2010-04-28

Family

ID=38638115

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006091704A Expired - Fee Related JP4459185B2 (ja) 2006-03-29 2006-03-29 コンピュータ・システム

Country Status (1)

Country Link
JP (1) JP4459185B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5625374B2 (ja) * 2010-02-02 2014-11-19 株式会社リコー 装置、異常表示方法及びプログラム

Also Published As

Publication number Publication date
JP2007265215A (ja) 2007-10-11

Similar Documents

Publication Publication Date Title
JP5872731B2 (ja) クラスタの複数のノードのそれぞれに対してリンクの障害の検出を伝えるためのコンピュータ実装方法、非一時的なコンピュータ可読媒体およびコンピュータシステム
JP3983138B2 (ja) 障害情報収集プログラムおよび障害情報収集装置
US20130205017A1 (en) Computer failure monitoring method and device
US8189458B2 (en) Monitoring system, monitoring device, monitored device, and monitoring method
JP5343436B2 (ja) 情報管理システム
US10110424B1 (en) Node failure recovery tool
JP5366184B2 (ja) データ記憶システム、データ記憶方法
CN111327685A (zh) 分布式存储系统数据处理方法、装置及设备和存储介质
US7831710B2 (en) Communication of offline status between computer systems
US20130205162A1 (en) Redundant computer control method and device
JP5446405B2 (ja) イベント検出制御方法及びシステム
JP2005301436A (ja) クラスタシステムおよびクラスタシステムにおける障害回復方法
JP5625605B2 (ja) Os動作状態確認システム、確認対象装置、os動作状態確認装置、os動作状態確認方法およびプログラム
JP6418377B2 (ja) 管理対象装置、管理装置及びネットワーク管理システム
US8055991B2 (en) Error detection and recovery using an asynchronous transaction journal
JP4459185B2 (ja) コンピュータ・システム
JP2007272328A (ja) コンピュータ・システム
CN114327563A (zh) 数据同步方法及装置、系统、存储介质、计算机系统
JP2006260400A (ja) コンピュータ装置状態監視方法
JP5136200B2 (ja) ログ記録システム
JP3691272B2 (ja) 分散処理システムおよび障害解析情報の保存方法
WO2015194651A1 (ja) 障害通知装置、障害通知方法及びプログラム
JP4848979B2 (ja) 監視システムおよび監視方法ならびにプログラム
JP2020201637A (ja) 情報処理システム
JP6015850B2 (ja) 情報処理システム、サーバ装置、プログラム、および、情報処理方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090420

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090728

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090916

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

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

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

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130219

Year of fee payment: 3

S201 Request for registration of exclusive licence

Free format text: JAPANESE INTERMEDIATE CODE: R314201

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130219

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130219

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140219

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees