JP4866429B2 - システム障害を精度良く検出する技術 - Google Patents

システム障害を精度良く検出する技術 Download PDF

Info

Publication number
JP4866429B2
JP4866429B2 JP2008552140A JP2008552140A JP4866429B2 JP 4866429 B2 JP4866429 B2 JP 4866429B2 JP 2008552140 A JP2008552140 A JP 2008552140A JP 2008552140 A JP2008552140 A JP 2008552140A JP 4866429 B2 JP4866429 B2 JP 4866429B2
Authority
JP
Japan
Prior art keywords
state
processing
server
tier server
tier
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
JP2008552140A
Other languages
English (en)
Other versions
JPWO2008081844A1 (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2008552140A priority Critical patent/JP4866429B2/ja
Publication of JPWO2008081844A1 publication Critical patent/JPWO2008081844A1/ja
Application granted granted Critical
Publication of JP4866429B2 publication Critical patent/JP4866429B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)
  • Hardware Redundancy (AREA)

Description

本発明は、システム障害を精度良く検出する技術に関する。特に、本発明は、複数のサーバ装置が相互に通信するシステムにおいて、障害を精度良く検出する技術に関する。
近年、大規模なウェブサイトは単一のサーバ装置ではなく複数のサーバ装置を備えたシステムによって実現される。このようなシステムは多層サーバシステムと呼ばれ、たとえば、HTTPプロトコルに関する制御を行うサーブレットサーバ、呼び出されたアプリケーションを動作させるアプリケーションサーバ、データベースのトランザクションを行うデータベースサーバなどを備える。このような多層サーバシステムにおいて発生した障害を検出するために、従来、これらのサーバ群とは別体に設けられた監視用サーバが用いられている。
監視用サーバは、システム内の各サーバからその状態を定期的に収集する。たとえば、供給電圧、CPUの温度、および、CPUのビジー率などのハードウェアの状態が収集されて、その状態が通常とは異なる場合に、当該システムに異常が発生したと判断される。但し、このような監視用サーバのみによっては、ソフトウェアに生じた異常を判断できない場合がある。このため、各サーバにおいては、当該サーバから他のサーバに要求したトランザクションの所要時間を計測して、その時間の長さが所定の範囲内かどうか判断することで、ソフトウェア由来の障害を検出可能としている。
障害検出に関する参考技術としては以下の特許文献1−2を参照されたい。
特開2001−282759号公報 特開2003−196178号公報
上述の多層サーバシステムにおいては、第1のサーバが第2のサーバに処理を要求し、要求を受けた第2のサーバが第3のサーバに更に処理を要求することがある。このような場合、第1のサーバに返送される処理応答が遅延しても、第2のサーバおよび第3のサーバの何れに障害が発生しているかどうかは第1のサーバには分からない。このような場合に第2のサーバに障害が発生したものとみなして処理要求の送信経路などを変更してしまえば、不用意に処理効率を低下させるおそれがある。
また、サーバ上で動作するプログラムがJava言語(登録商標)で記述されている場合には、Javaのミドルウェアがガーベージ・コレクション(GC)を定期的に行う場合がある。GCとは、プログラムが確保したものの不要となった記憶領域を、そのプログラムの動作とは独立に、たとえば定期的に解放する処理である。この場合には、サーバにおける処理が一時的には遅延するが、GCが終了すればすぐに元の状態に戻る。このような一時的な状態をもってサーバに障害が発生したと判断すれば、システムを効率的に活用する観点から不都合である。
そこで本発明は、上記の課題を解決することのできるシステム、方法およびプログラムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
上記課題を解決するために、本発明の一側面においては、外部の端末装置から要求された処理を振り分ける複数のディスパッチャ装置と、振り分けられた当該処理を行う複数の第1階層サーバと、第1階層サーバから受けた要求に応じて当該処理の一部を行う少なくとも1つの第2階層サーバとを備えるシステムであって、それぞれのディスパッチャ装置は、それぞれの第2階層サーバの稼動状態を示す状態テーブルを格納するための記憶装置と、要求された処理を振り分けるために、外部の端末装置から受けた処理要求を複数の第1階層サーバの中から選択した一の第1階層サーバに転送する転送部と、それぞれの第2階層サーバの稼動状態を、転送された処理要求に対応する処理応答に含めて受信し、受信した稼動状態に基づいて第2階層サーバ毎の稼動状態を評価して、第2階層サーバ毎の稼動状態を示す状態テーブルを生成して記憶装置に記憶するテーブル生成部と、状態テーブルの生成に応じ、生成した状態テーブルを記憶装置から読み出してそれぞれの第1階層サーバに送信するテーブル送信部と、何れかの第1階層サーバからの状態テーブルの受信に応じて、受信した状態テーブルにより記憶装置に記憶した状態テーブルを更新する第1テーブル更新部とを有し、それぞれの第1階層サーバは、それぞれの第2階層サーバの稼動状態を示す状態テーブルを格納するための記憶装置と、ディスパッチャ装置の転送部から処理要求の転送を受けたことに応じて、要求された処理の一部を第2階層サーバに処理させるために、第2階層サーバに処理要求を送信する要求送信部と、第2階層サーバに送信した処理要求に対する処理応答の状態を、当該第2階層サーバの稼動状態として、ディスパッチャ装置の転送部から転送を受けた処理要求に対する処理応答に含めて当該ディスパッチャ装置に返信する状態返信部と、ディスパッチャ装置のテーブル送信部から状態テーブルを受信したことに応じて、受信した当該状態テーブルに基づき記憶装置に既に格納された状態テーブルを更新する第2テーブル更新部と、状態テーブルの更新に応じて、更新した状態テーブルをそれぞれのディスパッチャ装置に返信するテーブル返信部とを有するシステムを提供する。また、当該システムにより各サーバの状態を管理する方法、および、当該システムとして複数の情報処理装置を機能させるプログラムを提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、情報システム10の構成の一例を示す。情報システム10は、ディスパッチャ装置100−1〜2と、サーブレットサーバ110−1〜4と、APPサーバ120−1〜3と、DBサーバ130と、データベース135と、システム監視装置140と、情報共有装置150とを備える。ディスパッチャ装置100−1〜2のそれぞれは、サーブレットサーバ110−1〜4に直接接続されている。そして、ディスパッチャ装置100−1〜2は、外部の端末装置から要求された処理をサーブレットサーバ110−1〜4に振り分ける。
たとえば、ディスパッチャ装置100−1〜2のそれぞれは、順次受け取る処理要求をラウンドロビン方式によってサーブレットサーバ110−1〜4のそれぞれに転送してもよい。即ち、ディスパッチャ装置100−1は、1回目に受け取った処理要求をサーブレットサーバ110−1に転送し、2回目に受け取った処理要求をサーブレットサーバ110−2に転送し、3回目に受け取った処理要求をサーブレットサーバ110−3に転送し、4回目に受け取った処理要求をサーブレットサーバ110−4に転送する。5回目からは元に戻り、処理要求はサーブレットサーバ110−1に転送される。
サーブレットサーバ110−1〜4のそれぞれは、本発明に係る第1階層サーバの一例であり、具体的には例えばHTTPサーバなどである。そして、サーブレットサーバ110−1〜4のそれぞれは、ディスパッチャ装置100−1〜2から振り分けられた処理要求に応じて処理を行う。処理の過程で、所定のアプリケーション・プログラムの呼び出しや、データベースに対するアクセスの必要が生じる場合がある。そのような場合は、サーブレットサーバ110−1〜4のそれぞれは、APP(アプリケーション)サーバ120−1〜3またはDBサーバ130に対し更に処理要求を送信して、外部の端末装置から要求された処理の少なくとも一部を処理させる。APPサーバ120−1〜3のそれぞれは、本発明に係る第2階層サーバの一例であり、外部の端末装置が要求した処理の一部を、サーブレットサーバ110−1〜4から受けた要求に応じて処理する。DBサーバ130は、処理の過程でデータベース135からデータを読み出し、または、データベース135を更新してもよい。なお、DBサーバ130もまた第2階層サーバの一例である。即ち第2階層サーバには、サーブレットサーバから直接要求を受けるものの他、他のサーバ/装置(ここではAPPサーバ100−1〜3)を介して間接的に要求を受けて、その要求に応じて要求された処理の一部を処理するものも含まれる。
システム監視装置140は、ディスパッチャ装置100−1〜2、サーブレットサーバ110−1〜4、APPサーバ120−1〜3およびDBサーバ130のそれぞれにおいて動作しているエージェントソフトウェアなどから、これらそれぞれの装置・サーバの状態を示すデータを受信する。たとえば、それぞれの装置・サーバにおけるCPUの利用率、ハードディスクドライブのアクセス頻度などのハードウェアの稼動状態や、CPUや筐体の温度などの物理状態を示すデータが受信される。そして、情報共有装置150は、システム監視装置140が受信したこれらそれぞれのデータに基づいて、情報システム10が有する何れかの装置・サーバに異常が発生したかどうかを判断し、その判断結果を外部に通知したり、異常が発生した装置・サーバを停止させるなどの処理を行う。
図1に示す情報システム10によれば、情報システム10中の各装置・サーバの状態を監視して、情報システム10に生じた異常を検出することができるとも考えられる。しかしながら、このような情報システム10の構成によっては、ソフトウェアが主な原因で生じた異常は適切に検出できない場合がある。例えば、ソフトウェアの設計等の不良が原因のデッドロックは、ソフトウェアそれ自体は設計通り正常動作していることから、CPUの状態等によってはその発生を適切に検出できない。また、本来必要なサーバ・装置に加えてシステム監視装置140および情報共有装置150が必要なので、他のサーバ・装置が正常でもシステム監視装置140および情報共有装置150自体の異常が原因で誤って異常を検出してしまう場合がある。
これに対し、以降において説明する情報システム10によれば、異常検出のための機構を、処理要求や処理応答の送受信の機構に組み込むことで、情報システム10における本来の動作に悪影響を与えることなく、様々な種類の異常を検出することができる。
以降、具体的に説明する。
図2は、本実施形態に係る情報システム10の全体構成を示す。情報システム10は、図1と同様に、ディスパッチャ装置100−1〜2と、サーブレットサーバ110−1〜4と、APPサーバ120−1〜3と、DBサーバ130と、データベース135とを備える。但し、図1に示した情報システム10とは異なり、図2の情報システム10は、システム監視装置140および情報共有装置150を備えなくてもよい。ディスパッチャ装置100−1〜2、サーブレットサーバ110−1〜4、APPサーバ120−1〜3、DBサーバ130およびデータベース135のそれぞれにおける処理の概要は、図1に示したものと同様である。但し、それぞれのサーバ・装置においては、処理要求および処理応答の送受信に加えて、異常検出のための処理を行う。また、異常検出に用いるために、それぞれのサーバ・装置は、処理要求を他のサーバ・装置に送信してから、その処理応答を受信するまでの所要時間を計測する機構を備えるものとする。
図3は、ディスパッチャ装置100−1の機能構成を示す。ディスパッチャ装置100−1は、記憶装置300と、転送部310と、テーブル生成部320と、テーブル送信部330と、第1テーブル更新部340と、停止判断部350とを有する。まず、これら各部材とハードウェア資源との関係について簡単に述べる。記憶装置300は、他の各部材に必要な情報を記憶するものであり、例えば後述のRAM1020またはハードディスクドライブ1040により実現される。転送部310およびテーブル送信部330は、情報の送受信等を行うものであり、後述のCPU1000および通信インターフェイス1030を、インストールされたプログラムに基づき動作させることにより実現される。テーブル生成部320、第1テーブル更新部340および停止判断部350は、情報の演算・加工および条件判断を行うものであり、後述のCPU1000を、インストールされたプログラムに基づき動作させることにより実現される。
記憶装置300は、各装置・サーバの稼動状態を示す状態テーブルを格納するために設けられている。状態テーブルとは、具体的には、サーブレットサーバ110−1〜4、APPサーバ120−1〜3およびDBサーバ130のそれぞれの稼動状態を示すものをいう。そして、稼動状態とは、たとえば、正常状態、動作しているが処理に閾値以上の時間を要する高負荷状態、動作していない異常状態、高負荷状態の疑いがある疑高負荷状態、および、異常状態の疑いがある疑異常状態の何れかである。
転送部310は、要求された処理を振り分けるために、外部の端末装置から受けた処理要求を、複数のサーブレットサーバ110−1〜4の中から選択した一のサーブレットサーバ110に転送する。前述のように、サーブレットサーバ110の選択はラウンドロビン方式で行われてもよい。テーブル生成部320は、それぞれのAPPサーバ120−1〜3およびDBサーバ130の稼動状態を、転送された処理要求に対応する処理応答に含めて受信する。
ここで処理応答に含めて受信する稼動状態とは、好ましくは、その処理要求に応じてサーブレットサーバ110−1〜4がAPPサーバ120−1〜3に要求した処理の所要時間を示す情報である。つまり、転送部310がある処理要求Aをサーブレットサーバ110−1に転送し、それを受信したサーブレットサーバ110−1がその要求Aに応じて処理要求BをAPPサーバ120−1に送信した場合、その処理要求Bに応じた処理の所要時間が、処理要求Aに対する処理応答Aに含めて受信される。
各稼動状態の具体例として、例えば、異常状態は、所要時間が5秒超であることを示し、高負荷状態は、所要時間が2秒超5秒以下であることを示し、正常状態は、所要時間が2秒以下であることを示す。テーブル生成部320が受信する時点では、稼動状態はこのような所要時間を示す数値そのものであってもよいし、既にその数値に基づき判断された各状態を示すものであってもよい。また、稼動状態は、所要時間のほか、各サーバや装置における処理の状態を示すその他の指標値を示すものであってもよい。
指標値の例としては、処理のスループット、レイテンシなどが挙げられる。また、テーブル生成部320は、各処理についての所要時間を稼動状態として受信するのではなく、一定期間に応答を受信した複数処理についての所要時間の平均を稼動状態として受信してもよい。そして、テーブル生成部320は、受信した稼動状態に基づいてAPPサーバ120−1〜3およびDBサーバ130のそれぞれについての稼動状態を評価して、評価した各稼動状態を示す状態テーブルを生成して記憶装置300に記憶する。
稼動状態の評価とは、あるAPPサーバ120について受信した稼動状態そのものをそのAPPサーバ120の稼動状態として取り扱う処理であってもよいし、同一のAPPサーバ120について異なる複数の稼動状態を受信した場合に、それら複数の稼動状態に基づき単一の稼動状態を定める処理であってもよい。さらには、テーブル生成部320は、サーブレットサーバ110−1〜4のそれぞれに対し処理要求を送信してからその処理要求に対する処理応答を受信するまでの所要時間に基づいて、サーブレットサーバ110毎の稼動状態を評価して、状態テーブルに含めて生成してもよい。
テーブル送信部330は、状態テーブルの生成に応じ、生成したその状態テーブルを記憶装置300から読み出して、それぞれのサーブレットサーバ110−1〜4に送信する。第1テーブル更新部340は、何れかのサーブレットサーバ110−1〜4からの状態テーブルの受信に応じて、受信したこの状態テーブルにより、記憶装置300に既に記憶している状態テーブルを更新する。停止判断部350は、記憶装置300に記憶した状態テーブルにおいて、何れのサーブレットサーバ110も、稼動状態が正常状態でないことを条件に、テーブル生成部320による稼動状態の受信、および、テーブル送信部330による状態テーブルの送信を停止させる。
なお、ディスパッチャ装置100−2が有する各機能についてはディスパッチャ装置100−1と略同一であるから説明を省略する。
図4は、サーブレットサーバ110−1の機能構成を示す。サーブレットサーバ110−1は、記憶装置400と、要求送信部410と、状態返信部420と、第2テーブル更新部430と、テーブル返信部440とを有する。ディスパッチャ装置100−1の場合と同様、まず、ハードウェア資源との関連について述べる。記憶装置400は、他の各部材に必要な情報を記憶するものであり、例えば後述のRAM1020またはハードディスクドライブ1040により実現される。要求送信部410およびテーブル返信部440は、処理応答等の送受信を行うものであり、後述のCPU1000および通信インターフェイス1030を、インストールされたプログラムに基づき動作させることにより実現される。状態返信部420および第2テーブル更新部430は、情報の演算・加工および条件判断を行うものであり、後述のCPU1000を、インストールされたプログラムにより動作させることにより実現される。
記憶装置400は、サーブレットサーバ110−1〜4、APPサーバ120−1〜3およびDBサーバ130のそれぞれの稼動状態を示す状態テーブルを格納するために設けられている。要求送信部410は、ディスパッチャ装置(たとえばディスパッチャ装置100−1)の記憶装置300から処理要求の転送を受けたことに応じて、要求された処理の一部をAPPサーバ120−1〜3またはDBサーバ130(以降、APPサーバ120−1等と呼ぶ)に処理させるために、APPサーバ120−1等に処理要求を送信する。状態返信部420は、要求送信部410がAPPサーバ120−1等に送信した処理要求に対する処理応答の状態を、そのAPPサーバ120−1の稼動状態として、ディスパッチャ装置100−1の記憶装置300から転送を受けた処理要求に対する処理応答に含めてそのディスパッチャ装置100−1に返信する。
ここで、処理応答の状態とは、例えば、処理要求の送信から処理応答の受信までの所要時間をいう。つまり、処理の一例として、要求送信部410は、処理要求をAPPサーバ120−1に送信したときにタイマーをリセットして、その処理要求に対する処理応答を受信したときにそのタイマーの値を参照して、処理の所要時間を計測する。そしてその所要時間が、その処理応答の状態となる。
第2テーブル更新部430は、ディスパッチャ装置(たとえばディスパッチャ装置100−1)のテーブル送信部330から状態テーブルを受信したことに応じて、受信したその状態テーブルに基づき、記憶装置400に既に格納された状態テーブルを更新する。第2テーブル更新部430は、記憶装置400に何ら格納されていない場合には、受信したその状態テーブルを記憶装置400に格納してもよい。テーブル返信部440は、状態テーブルの更新に応じて、更新したその状態テーブルをそれぞれのディスパッチャ装置に返信する。返信先は、第2テーブル更新部430に対する状態テーブルの送信元には限らず、サーブレットサーバ110−1に直接接続する全てのディスパッチャ装置100のそれぞれである。また、返信する状態テーブルは、サーブレットサーバ110−1〜4からディスパッチャ装置100−1〜2に対する処理応答のメッセージに含めて送信されてもよい。
以上、図3および図4を参照して説明したように、情報システム10においては、ディスパッチャ装置100およびサーブレットサーバ110が状態テーブルを相互に送信してその内容を反映し合う。これにより、ディスパッチャ装置100−1〜2およびサーブレットサーバ110−1〜4の間で各サーバ・装置の稼動状態を適切に共有させることができる。それぞれのサーバ・装置は受信した複数の状態テーブルに基づいて、既に記憶している状態テーブルを更新することで、正常状態だがある処理にのみ偶然に処理時間を要したような場合でも、状態を誤って判断することを防ぐことができる。
図5は、記憶装置300または記憶装置400が記憶する状態テーブルのデータ構造の一例を示す。記憶装置300および記憶装置400のそれぞれは、状態テーブルとして、サーバIDに対応付けて、そのサーバIDにより識別されるサーバ・装置の稼動状態を記憶している。また、記憶装置300および記憶装置400のそれぞれは、状態テーブルに対応付けて、その状態テーブルの改訂の時期を示すバージョンIDを更に記憶する。なお、記憶装置300および記憶装置400は、それぞれディスパッチャ装置100およびサーブレットサーバ110において独立して管理される。
具体例として、記憶装置300は、サーブレットサーバ110−1というサーバIDに、そのサーバの稼動状態として正常状態を対応付けて記憶する。一方、記憶装置300は、APPサーバ120−1というサーバIDに、そのサーバの稼動状態として疑高負荷状態を対応付けて記憶する。また、記憶装置300は、DBサーバ130というサーバIDに、そのサーバの稼動状態として正常状態を対応付けて記憶する。バージョンIDは、改訂の時期や順序を識別可能とするものであり、これによって状態テーブル更新の可否を判断することができる。具体的には以下の通りである。
記憶装置300におけるバージョンIDに関する処理として、テーブル生成部320は、新たに状態テーブルを生成する毎に、その状態テーブルに対応付けて、前回に生成した状態テーブルよりも後の改訂により生成されたことを示すバージョンIDを生成して記憶装置300に記憶する。例えばバージョンIDが整数値として管理される場合、テーブル生成部320は、新たに状態テーブルを生成する毎に、既に記憶しているバージョンIDをインクリメントして記憶装置300に記憶する。状態テーブルを生成する周期は、例えば数分おきや数秒おきなど、ディスパッチャ装置100−1〜2に共通に定められている。したがって、生成される状態テーブルのIDは概ね同期しているが、ディスパッチャ装置100−1〜2の間で同期を維持するための処理を行ってはいないので、完全に同期しているとは限らない。
また、テーブル送信部330は、テーブル生成部320により生成されて記憶装置300に記憶された状態テーブルを、バージョンIDに対応付けて記憶装置300から読み出して、それぞれのサーブレットサーバ110−1〜4に送信する。記憶装置400におけるバージョンIDに関する処理として、第2テーブル更新部430は、状態テーブルに対応付けて受信したバージョンIDが、記憶装置400に格納されたバージョンIDと比較して同時期又は後の時期の改定を示すことを条件に、受信したその状態テーブルに基づき、記憶装置400に格納された状態テーブルを更新する。そしてその場合は、第2テーブル更新部430は、受信したそのバージョンIDを更新後の状態テーブルに対応付けて記憶装置400に格納する。
また、テーブル返信部440は、状態テーブルの更新に応じて、更新したその状態テーブルを、更新に用いた状態テーブルに対応するバージョンIDに対応付けてそれぞれのディスパッチャ装置100に返信する。この返信を受けて第1テーブル更新部340は、状態テーブルに対応付けて受信したバージョンIDが、記憶装置300に記憶したバージョンIDと比較して同時期又は後の時期の改定を示すことを条件に、受信したこの状態テーブルにより、記憶装置300に記憶した状態テーブルを更新する。
以上のように、状態テーブルがバージョンIDに対応付けて管理されることで、通信トラフィックの集中などで一部の状態テーブルが遅延して到着した場合であっても、最新の状態テーブルのみを選択して参照できる。
図6は、ディスパッチャ装置100−1が処理要求および処理応答を送受信する処理の具体例を示す。ディスパッチャ装置100−1は、例えば定期的に、又は、何らかの要求・応答を受信する毎に、以下の処理を行う。ディスパッチャ装置100−1は、外部の端末装置から処理要求を受信すると(S600:YES)、その処理要求を、複数のサーブレットサーバ110−1〜4の中から選択した一のサーブレットサーバ110に転送する(S610)。転送部310は、転送した処理要求に対する処理応答を受信すると(S620:YES)、その処理応答を外部の端末装置に対し返信する(S630)。
次に、テーブル生成部320は、この処理応答のメッセージに基づいて状態テーブルを生成する(S640)。具体的には、テーブル生成部320は、この処理応答のメッセージの中から、それぞれのAPPサーバ120−1〜3およびDBサーバ130の稼動状態を取得し、取得したこの稼動状態に基づいて、APPサーバ120−1〜3およびDBサーバ130についてのサーバ・装置毎の稼動状態を評価する。また、テーブル生成部320は、処理要求を転送してからこの処理応答を受信するまでの所要時間に基づいて、サーブレットサーバ110−1〜4の稼動状態を評価する。評価された稼動状態は状態テーブルに含めて生成される。新たに生成した状態テーブルは、既に記憶装置300に記憶している状態テーブルに代えて記憶装置300に記憶される。また、バージョンIDはインクリメントされる。また、稼動状態の評価は、過去の予め定められた期間内に受信した複数の処理応答に含まれる稼動状態に基づくものであり、同一のサーバ・装置について複数の稼動状態に基づき評価が行われてもよい。詳しくは後述する。なお、テーブル生成部320は、新たに生成した状態テーブルと、すでに記憶している状態テーブルを比較して同一である場合には、新たに生成した状態テーブルにより記憶装置300を更新しなくてよい。この場合は、後に説明するテーブル送信部330は、S660において状態テーブルを送信しなくてよい。
次に、停止判断部350は、状態テーブルの送受信を停止するべき条件が成立したかどうかを判断する(S650)。停止するべき条件とは、たとえば、サーブレットサーバ110−1〜4の何れの稼動状態も正常状態でないことである。このような場合には、ディスパッチャ装置100−1〜2およびサーブレットサーバ110−1〜4間で状態テーブルの相互送信が円滑に行えなくなるからである。停止条件が成立していなければ(S650:NO)、テーブル送信部330は、生成された状態テーブルを記憶装置300から読み出して、それぞれのサーブレットサーバ110に対し送信する(S660)。停止条件が成立していれば(S650:YES)、テーブル送信部330は、状態テーブルを送信しないで次の処理に移る。
なお、停止判断部350は、停止条件が成立した場合であっても、成立から予め定められた期間が経過したことを条件に、テーブル生成部320により稼動状態の受信、および、テーブル送信部330による状態テーブルの送信を再開させてもよい。再開しても直ちに停止条件が成立した場合には、停止判断部350は、稼動状態の受信および状態テーブルの送信を停止して、上記予め定められた期間よりも長い期間待機する。そして、その期間経過後に停止判断部350は、稼動状態の受信および状態テーブルの送信を再開する。このように、障害の回復が遅れるのに従って待機時間を長くすることで、障害発生時の情報システム10の負荷をできるだけ軽減して、障害からの回復を促すことができる。
また、第1テーブル更新部340は、サーブレットサーバ110−1〜4から新しい状態テーブルを受信したかどうかを判断する(S670)。即ち、第1テーブル更新部340は、何れかのサーブレットサーバ110−1〜4からの状態テーブルの受信に応じて、この状態テーブルに対応付けて受信したバージョンIDが、既に記憶装置300に記憶しているバージョンIDと比較して同時期又は後の時期の改訂を示すかどうかを判断する。同時期又は後の時期の改訂を示すということは、例えば、受信したバージョンIDの番号が、既に記憶しているバージョンIDの番号と同じか、それよりも大きいということである。新しい状態テーブルを受信したことを条件に(S670:YES)、第1テーブル更新部340は、受信したその状態テーブルにより、記憶装置300に記憶した状態テーブルを更新する(S680)。
なお、新たな状態テーブルを生成する処理をしている間に、サーブレットサーバ110から状態テーブルを受信した場合には、テーブル送信部330が新たに生成した状態テーブルを送信してから、第1テーブル更新部340が状態テーブルの更新を試みることが望ましい。このように、処理の所要時間等に基づく稼動状態の評価を優先させることで、稼動状態の評価に用いる所要時間等の情報を情報システム10全体で増加させることができ、ゆえに、稼動状態の評価の精度を高めることができる。
図7は、S640における処理の詳細な例を示す。図7を参照して、転送部310が受信した処理応答のメッセージに基づいてテーブル生成部320が各装置・サーバの稼動状態を評価する処理の詳細を説明する。テーブル生成部320は、転送部310がサーブレットサーバ110−1〜4から過去の予め定められた時間内に受信した複数の処理応答に含めて、各サーバ・装置の稼動状態を受信して、受信した稼動状態を集計する(S700)。具体的処理の一例を以下に述べる。
まず、テーブル生成部320は、各処理応答について以下の処理を行う。テーブル生成部320は、その処理応答の受信までの、対応する処理要求の送信からの所要時間を算出する。これは、テーブル生成部320において処理要求の送信時にタイマーをリセットして、処理応答の受信時にそのタイマーを参照することによって実現される。この時間を時間Aとする。また、テーブル生成部320は、この処理応答のメッセージから、この処理要求に応じてサーブレットサーバ110がAPPサーバ120に要求した処理の所要時間を取得する。この時間を時間Bとする。そして、テーブル生成部320は、時間Aから時間Bを差し引くことで、サーブレットサーバ110における処理の所要時間を算出する。
この処理要求に伴ってAPPサーバ120がDBサーバ130に対し更に処理を要求していた場合には、テーブル生成部320は、その所要時間をメッセージから更に取得する。この時間を時間Cとする。その場合には、テーブル生成部320は、サーブレットサーバ110において計測された所要時間Bから、この時間Cを差し引くことで、APPサーバ120における処理の所要時間を算出する。このように、テーブル生成部320は、ある1つの処理要求から派生的に順次要求された複数の処理のそれぞれについて、その所要時間を算出する。所要時間は、前述の5秒および2秒を閾値として、稼動状態の情報に変換される。以上の処理を、テーブル生成部320は、上述の過去の予め定められた時間内に受信したそれぞれの処理応答について行う。そして、テーブル生成部320は、このようにして判断された稼動状態を、サーブレットサーバ110−1〜4、APPサーバ120−1〜3およびDBサーバ130のそれぞれについて集計する。
次に、テーブル生成部320は、それぞれのサーブレットサーバ110−1〜4について、当該サーブレットサーバ110について集計された稼動状態の何れもが、高負荷状態または異常状態を示すかどうかを判断する(S710)。何れのサーブレットサーバ110についても、集計された稼動状態の何れもが高負荷状態又は異常状態を示していることを条件に(S710:YES)、停止判断部350は、状態テーブルの送受信を停止するべき条件が成立したと判断して(S720)、本図の処理を終了する。この場合、テーブル生成部320は、状態テーブルを生成しなくてもよい。
次に、テーブル生成部320は、APPサーバ120−1〜3およびDBサーバ130のそれぞれ(以下、処理の対象を当該サーバと呼ぶ)について以下の処理を行う(S730)。テーブル生成部320は、当該サーバについて受信した稼動状態のうち、当該サーバが正常であることを示す稼動状態の割合が予め定められた基準値(N)であることを条件に(S740:YES)、当該サーバが正常状態であると評価する(S750)。この基準値(N)は、0より大きい極めて小さい値であることが望ましい。これは、サーバに一旦異常が発生すると以降の処理は更に遅延する傾向があり、一時的にであっても状況が改善することは稀だからである。すなわち、正常と判断できる処理が僅かに観測されるときは、異常状態においてたまたま正常に処理が完了されたとは考えにくく、正常状態においてたまたま他の処理に時間がかかっていると考えた方が自然だからである。このため、テーブル生成部320は、正常状態を示す稼動状態が1つでも含まれていれば、当該サーバが正常状態であると評価してよい。
正常状態と評価されない場合(S740)、次に、テーブル生成部320は、当該サーバについて受信した稼動状態のうち、当該サーバが高負荷であることを示す稼動状態の割合が予め定められた基準値(K)以上であるかどうかを判断する(S760)。基準値(K)以上であることを条件に(S760:YES)、テーブル生成部320は、当該サーバが高負荷状態であると評価する(S770)。この基準値(K)も、0より大きい極めて小さい値であることが望ましく、テーブル生成部320は、高負荷状態を示す稼動状態が1つでも含まれていれば、他の稼動状態が全て異常状態を示していても、当該サーバが高負荷状態であると判断してよい。高負荷であることを示す稼動状態の割合が基準値(K)未満であることを条件に(S760:NO)、テーブル生成部320は、当該サーバが疑異常状態と判断する(S780)。テーブル生成部320は、以上の処理をAPPサーバ120−1〜3およびDBサーバ130のそれぞれについて繰り返す(S790)。
図8は、サーブレットサーバ110−1が処理要求および処理応答を送受信する処理の具体例を示す。要求送信部410は、ディスパッチャ装置(たとえばディスパッチャ装置100−1)の記憶装置300から処理要求の転送を受けたことに応じて(S800:YES)、要求された処理の一部をAPPサーバ120−1〜3等に処理させるために、APPサーバ120−1等に処理要求を送信する(S810)。送信先をたとえばAPPサーバ120−1とする。要求送信部410がAPPサーバ120−1に送信した処理要求に対する処理応答を受信すると(S820:YES)、状態返信部420は、その処理応答の状態を、そのAPPサーバ120−1の稼動状態として取得する(S830)。例えば、処理要求から処理応答までの所要時間がAPPサーバ120−1から取得されてもよい。そして、状態返信部420は、APPサーバ120−1の稼動状態を、ディスパッチャ装置100−1の記憶装置300から転送を受けた処理要求に対する処理応答に含めてそのディスパッチャ装置100−1に返信する(S840)。
次に、第2テーブル更新部430は、ディスパッチャ装置(たとえばディスパッチャ装置100−1)から新しい状態テーブルを受信したかどうかを判断する(S850)。即ち、第2テーブル更新部430は、ディスパッチャ装置100−1から状態テーブルを受信したことに応じて、その状態テーブルに対応付けて受信したバージョンIDが、記憶装置400に既に格納されたバージョンIDと比較して同時期又は後の時期の改定を示すことを条件に、新しい状態テーブルを受信したと判断する。新しい状態テーブルを受信したことを条件に(S850:YES)、第2テーブル更新部430は、受信したその状態テーブルに基づき、記憶装置400に格納された状態テーブルを更新する(S860)。状態テーブルの更新は、このように、状態テーブルを受信する毎に行われるから、ディスパッチャ装置100−1〜2の各々から受信した状態テーブルの情報は統合されて記憶装置400の状態テーブルに反映される。そして、テーブル返信部440は、更新したその状態テーブルをディスパッチャ装置100−1〜2のそれぞれに対し返信する(S870)。
図9は、S860において順次更新される稼動状態の状態遷移図である。第2テーブル更新部430は、状態テーブルにおいて管理されたAPPサーバ120−1〜3およびDBサーバ130の各稼動状態を、図9に示す状態遷移図に従って更新する。具体的には、第2テーブル更新部430は、処理対象であるサーバの稼動状態が、既に記憶装置400に記憶されている状態テーブルにおいて正常状態ではなく、かつ、ディスパッチャ装置100のテーブル送信部330から受信した状態テーブルにおいては正常状態であることを条件に、当該サーバの稼動状態を正常状態に更新する。即ち、高負荷、異常、疑高負荷または疑異常の何れの状態も、正常状態を受信したことを条件に正常状態に更新される。
また、第2テーブル更新部430は、処理対象であるサーバの稼動状態が、すでに記憶装置400に記憶されている状態テーブルにおいて正常状態であり、かつ、サーブレットサーバ110のテーブル送信部330から受信した状態テーブルにおいては異常状態または疑異常状態であることを条件に、当該サーバの稼動状態を疑異常状態に更新する。即ち、第2テーブル更新部430においては、異常状態を受信したからといって直ちに異常状態とは判断されない。そして、第2テーブル更新部430は、稼動状態を疑異常状態に更新してから正常状態に戻すことなく予め定められた期間が経過したことを条件に、当該稼動状態を異常状態に更新する。
また、第2テーブル更新部430は、処理対象であるサーバの稼動状態が、すでに記憶装置400に記憶されている状態テーブルにおいて正常状態であり、かつ、サーブレットサーバ110のテーブル送信部330から受信した状態テーブルにおいては高負荷状態であることを条件に、当該サーバの稼動状態を疑高負荷状態に更新する。即ち、第2テーブル更新部430においては、高負荷状態を受信したからといって直ちに高負荷状態とは判断されない。そして、第2テーブル更新部430は、稼動状態を疑高負荷状態に更新してから正常状態に戻すことなく予め定められた期間が経過したことを条件に、当該稼動状態を高負荷状態に更新する。
図10は、本実施形態に係る情報システム10により稼動状態が順次更新される過程を示す。ここでは説明の都合上、情報システム10は、ディスパッチャ装置100−1〜2と、サーブレットサーバ110−1と、APPサーバ120−1〜3とを有するものとし、サーブレットサーバ110−2およびDBサーバ130は有しないものとする。また、APPサーバ120−1〜3を、表の中でそれぞれA〜Cと表記する。また、バージョンIDの初期値を0とする。即ち、全てのサーバ・装置における記憶装置は、バージョンIDとして数値の0を記憶している。また、状態テーブルは、APPサーバ120−1〜3の稼動状態を含み、サーブレットサーバ110−1〜2の稼動状態を含まないものとする。
初期状態である時間0の時点において、ディスパッチャ装置100−1の記憶装置300は、APPサーバ120−1〜3のそれぞれの稼動状態を何れも正常状態とする状態テーブルを記憶している。この状態テーブルをA,B,Cと表記する。ディスパッチャ装置100−2の記憶装置300およびサーブレットサーバ110−1の記憶装置400も同様である。時間0の次の時間1において、テーブル生成部320は、APPサーバ120−3の稼動状態を疑異常状態と判断する。これは、例えばある一定期間内にディスパッチャ装置100−1からの要求を受けてAPPサーバ120−1で実行された処理の何れもが、異常状態と判断されるべき所要時間を要したからである。このときの状態テーブルの状態をA,B,C(−)と表記する。記号−は異常状態を示し、記号(−)は疑異常状態を示す。この時点でディスパッチャ装置100−1の記憶装置300においてバージョンIDはインクリメントされて1となる。しかしまだサーブレットサーバ110−1においてバージョンIDが0のままなので、図中ではバージョンIDを0と表記する。
時間2において、サーブレットサーバ110−1の第2テーブル更新部430は、ディスパッチャ装置100−1のテーブル送信部330から状態テーブルを受信する。記憶装置300に既に記憶されている状態テーブルにおいて、APPサーバ120−3は正常状態だが、受信した状態テーブルにおいてAPPサーバ120−3は疑異常状態である。このため、サーブレットサーバ110−1の第2テーブル更新部430は、稼動状態を疑異常状態に更新する。したがって、サーブレットサーバ110−1においても状態テーブルはA,B,C(−)となる。
また、同じ時間2において、ディスパッチャ装置100−2のテーブル生成部320は、ディスパッチャ装置100−1と比べてやや遅れて、ディスパッチャ装置100−1とは独立に状態テーブルを生成する。このとき、テーブル生成部320は、APPサーバ120−2の稼動状態を疑異常状態と判断する。これは、例えばある一定期間内にディスパッチャ装置100−2からの要求を受けてAPPサーバ120−2で実行された処理の何れもが、異常状態と判断されるべき所要時間を要したからである。この結果生成される状態テーブルは、A,B(−),Cである。この時点で、ディスパッチャ装置100−1〜2およびサーブレットサーバ110−1の全てでバージョンIDが1となる。
時間3において、サーブレットサーバ110−1のテーブル返信部440は、状態テーブルをディスパッチャ装置100−1およびディスパッチャ装置100−2に対し送信する。ディスパッチャ装置100−1において、記憶している状態テーブルと受信した状態テーブルは同一であるから何らの処理は行われない。ディスパッチャ装置100−2において、記憶している状態テーブルおよび受信した状態テーブルはバージョンIDが共に1であって同一なので、第1テーブル更新部340は、受信した状態テーブルにより、記憶している状態テーブルを更新する。例えば、記憶している状態テーブルは、受信した状態テーブルにより置換される。この結果、ディスパッチャ装置100−2の記憶装置300において、状態テーブルはA,B,C(−)となる。
時間4において、ディスパッチャ装置100−2のテーブル生成部320は、APPサーバ120−2の稼動状態を疑異常状態と再度判断する。これは、次の一定期間内においても、ディスパッチャ装置100−2からの要求を受けてAPPサーバ120−2で実行された処理の何れもが、異常状態と判断されるべき所要時間を要したからである。この結果生成される状態テーブルは、A,B(−),Cである。また、生成されるバージョンIDは2である。そして、次の時間5において、ディスパッチャ装置100−2のテーブル送信部330は、生成したこの状態テーブルをサーブレットサーバ110−1に送信する。
サーブレットサーバ110−1の第2テーブル更新部430は、受信したバージョンIDである2が、記憶しているバージョンIDである1より大きいので、受信したこの状態テーブルにより、記憶している状態テーブルを更新する。APPサーバ120−2について、記憶している稼動状態は正常状態であり、受信した稼動状態は疑異常状態なので、第2テーブル更新部430は、APPサーバ120−2の稼動状態を疑異常状態に更新する。APPサーバ120−3について、記憶している稼動状態は疑異常状態であり、受信した稼動状態は正常状態なので、第2テーブル更新部430は、APPサーバ120−3の稼動状態を正常状態に更新する。この結果、状態テーブルはA,B(−),Cとなる。
次の時間6において、サーブレットサーバ110−1のテーブル返信部440は、更新した状態テーブルをディスパッチャ装置100−1〜2のそれぞれに返信する。ディスパッチャ装置100−2において、既に記憶している状態テーブルおよび受信した状態テーブルは同じなので、第1テーブル更新部340は何ら処理を行わない。一方、サーブレットサーバ110−1は、記憶しているものとは異なる状態テーブルA,B(−),Cを受信し、かつ、バージョンIDも同時期の改定を示すことから、受信したこの状態テーブルにより、記憶している状態テーブルを置換する。この結果、状態テーブルはA,B(−),Cとなる。
次の時間7および8において、ディスパッチャ装置100−1〜2のテーブル生成部320は、APPサーバ120−1〜3の稼動状態を評価するが、評価前と同一状態であるから図10中の表記は変化しない。同様に、サーブレットサーバ110−1の第2テーブル更新部430は状態テーブルをディスパッチャ装置100−1〜2から受信するが、既に記憶している状態テーブルと同一であるから図10中の表記は変化しない。
時間9において、サーブレットサーバ110−1の第2テーブル更新部430は、APPサーバ120−2の稼動状態を疑異常状態に更新してから予め定められた時間が経過したので、APPサーバ120−2の稼動状態を異常状態に更新する。更新された稼動状態は状態テーブルに含めてディスパッチャ装置100−1〜2に返信される。この結果、状態テーブルはA,B−,Cとなる。時間10において、ディスパッチャ装置100−1〜2の第1テーブル更新部340は、受信した状態テーブルによって、既に記憶している状態テーブルを更新する。この結果、状態テーブルはA,B−,Cとなる。
図11は、ディスパッチャ装置100−1またはサーブレットサーバ110−1として機能する情報処理装置500のハードウェア構成の一例を示す。情報処理装置500は、ホストコントローラ1082により相互に接続されるCPU1000、RAM1020、及びグラフィックコントローラ1075を有するCPU周辺部と、入出力コントローラ1084によりホストコントローラ1082に接続される通信インターフェイス1030、ハードディスクドライブ1040、及びCD−ROMドライブ1060を有する入出力部と、入出力コントローラ1084に接続されるROM1010、フレキシブルディスクドライブ1050、及び入出力チップ1070を有するレガシー入出力部とを備える。
ホストコントローラ1082は、RAM1020と、高い転送レートでRAM1020をアクセスするCPU1000及びグラフィックコントローラ1075とを接続する。CPU1000は、ROM1010及びRAM1020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ1075は、CPU1000等がRAM1020内に設けたフレームバッファ上に生成する画像データを取得し、表示装置1080上に表示させる。これに代えて、グラフィックコントローラ1075は、CPU1000等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。
入出力コントローラ1084は、ホストコントローラ1082と、比較的高速な入出力装置である通信インターフェイス1030、ハードディスクドライブ1040、及びCD−ROMドライブ1060を接続する。通信インターフェイス1030は、ネットワークを介して外部の装置と通信する。ハードディスクドライブ1040は、情報処理装置500が使用するプログラム及びデータを格納する。CD−ROMドライブ1060は、CD−ROM1095からプログラム又はデータを読み取り、RAM1020又はハードディスクドライブ1040に提供する。
また、入出力コントローラ1084には、ROM1010と、フレキシブルディスクドライブ1050や入出力チップ1070等の比較的低速な入出力装置とが接続される。ROM1010は、情報処理装置500の起動時にCPU1000が実行するブートプログラムや、情報処理装置500のハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ1050は、フレキシブルディスク1090からプログラム又はデータを読み取り、入出力チップ1070を介してRAM1020またはハードディスクドライブ1040に提供する。入出力チップ1070は、フレキシブルディスク1090や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。
情報処理装置500に提供されるプログラムは、フレキシブルディスク1090、CD−ROM1095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、入出力チップ1070及び/又は入出力コントローラ1084を介して
、記録媒体から読み出され情報処理装置500にインストールされて実行される。プログラムが情報処理装置500等に働きかけて行わせる動作は、図1から図10において説明したディスパッチャ装置100−1およびサーブレットサーバ110−1における動作と同一であるから、説明を省略する。なお、ディスパッチャ装置100−2およびサーブレットサーバ110−2〜4の動作・ハードウェア構成についても、図11に示す情報処理装置500と略同一であるから説明を省略する。
以上に示したプログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク1090、CD−ROM1095の他に、DVDやPD等の光学記録媒体、MD等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムを情報処理装置500に提供してもよい。
以上、本実施形態に係る情報システム10によれば、処理要求・処理応答などのメッセージに含めて稼動状態を送受信させることができるので、本来必要な装置・サーバの他に追加の装置を必要とせず、なおかつ、ソフトウェア由来の障害を含めた幅広い種類の障害を検出することができる。また、あるサーバAが他のサーバBに処理を要求し、サーバBがサーバCに更に処理を要求するというように、呼び出し関係が階層的な場合においても障害発生箇所を精度良く判断できる。さらに、ディスパッチャ装置100およびサーブレットサーバ110間で稼動状態の評価結果を交換することで、誤った評価や一時的な評価の誤りを訂正できる。たとえば、Java(登録商標)のGCなどによって一時的に遅延した処理を障害として誤って判断することを避け、稼動状態評価の精度を高めることができる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
図1は、情報システム10の構成の一例を示す。 図2は、本実施形態に係る情報システム10の全体構成を示す。 図3は、ディスパッチャ装置100−1の機能構成を示す。 図4は、サーブレットサーバ110−1の機能構成を示す。 図5は、記憶装置300または記憶装置400が記憶する状態テーブルのデータ構造の一例を示す。 図6は、ディスパッチャ装置100−1が処理要求および処理応答を送受信する処理の具体例を示す。 図7は、S640における処理の詳細な例を示す。 図8は、サーブレットサーバ110−1が処理要求および処理応答を送受信する処理の具体例を示す。 図9は、S860において順次更新される稼動状態の状態遷移図である。 図10は、本実施形態に係る情報システム10により稼動状態が順次更新される過程を示す。 図11は、ディスパッチャ装置100−1またはサーブレットサーバ110−1として機能する情報処理装置500のハードウェア構成の一例を示す。
符号の説明
10 情報システム
100 ディスパッチャ装置
110 サーブレットサーバ
120 APPサーバ
130 DBサーバ
135 データベース
140 システム監視装置
150 情報共有装置
300 記憶装置
310 転送部
320 テーブル生成部
330 テーブル送信部
340 第1テーブル更新部
350 停止判断部
400 記憶装置
410 要求送信部
420 状態返信部
430 第2テーブル更新部
440 テーブル返信部
500 情報処理装置

Claims (11)

  1. 外部の端末装置から要求された処理を振り分ける複数のディスパッチャ装置と、振り分けられた当該処理を行う複数の第1階層サーバと、第1階層サーバから受けた要求に応じて当該処理の一部を行う少なくとも1つの第2階層サーバとを備えるシステムであって、 それぞれの前記ディスパッチャ装置は、
    それぞれの第2階層サーバの稼動状態を示す状態テーブルを格納するための記憶装置と、
    要求された処理を振り分けるために、外部の端末装置から受けた処理要求を前記複数の第1階層サーバの中から選択した一の第1階層サーバに転送する転送部と、
    それぞれの前記第2階層サーバの稼動状態を、転送された前記処理要求に対応する処理応答に含めて受信し、受信した稼動状態に基づいて第2階層サーバ毎の稼動状態を評価して、第2階層サーバ毎の稼動状態を示す状態テーブルを生成して記憶装置に記憶するテーブル生成部と、
    前記状態テーブルの生成に応じ、生成した前記状態テーブルを記憶装置から読み出してそれぞれの前記第1階層サーバに送信するテーブル送信部と、
    何れかの第1階層サーバからの状態テーブルの受信に応じて、受信した前記状態テーブルにより記憶装置に記憶した前記状態テーブルを更新する第1テーブル更新部と
    を有し、
    それぞれの前記第1階層サーバは、
    それぞれの第2階層サーバの稼動状態を示す状態テーブルを格納するための記憶装置と、
    ディスパッチャ装置の転送部から処理要求の転送を受けたことに応じて、要求された処理の一部を第2階層サーバに処理させるために、第2階層サーバに処理要求を送信する要求送信部と、
    第2階層サーバに送信した前記処理要求に対する処理応答の状態を、当該第2階層サーバの稼動状態として、ディスパッチャ装置の転送部から転送を受けた処理要求に対する処理応答に含めて当該ディスパッチャ装置に返信する状態返信部と、
    ディスパッチャ装置のテーブル送信部から状態テーブルを受信したことに応じて、受信した当該状態テーブルに基づき記憶装置に既に格納された状態テーブルを更新する第2テーブル更新部と、
    状態テーブルの更新に応じて、更新した前記状態テーブルをそれぞれの前記ディスパッチャ装置に返信するテーブル返信部と
    を有するシステム。
  2. ディスパッチャ装置および第1階層サーバのそれぞれにおける記憶装置は、状態テーブルに対応付けて当該状態テーブルの改訂の時期を示すバージョンIDを更に記憶し、
    前記テーブル生成部は、新たに状態テーブルを生成する毎に、当該状態テーブルに対応付けて、前回に生成した状態テーブルよりも後の改訂により生成されたことを示すバージョンIDを生成して記憶装置に記憶し、
    前記テーブル送信部は、生成した状態テーブルをバージョンIDに対応付けて記憶装置から読み出してそれぞれの前記第1階層サーバに送信し、
    前記第2テーブル更新部は、状態テーブルに対応付けて受信したバージョンIDが、記憶装置に格納されたバージョンIDと比較して同時期又は後の時期の改定を示すことを条件に、受信した当該状態テーブルに基づき記憶装置に格納された前記状態テーブルを更新し、さらに、受信した当該バージョンIDを更新後の当該状態テーブルに対応付けて記憶装置に格納し、
    前記テーブル返信部は、状態テーブルの更新に応じて、更新した当該状態テーブルを、更新に用いた状態テーブルに対応するバージョンIDに対応付けてそれぞれのディスパッチャ装置に返信し、
    前記第1テーブル更新部は、状態テーブルに対応付けて受信したバージョンIDが、記憶装置に記憶したバージョンIDと比較して同時期又は後の時期の改定を示すことを条件に、受信した当該状態テーブルにより記憶装置に記憶した前記状態テーブルを更新する
    請求項1に記載のシステム。
  3. 前記状態返信部は、ディスパッチャ装置の転送部から転送を受けた処理要求に対する処理応答に、前記稼動状態として、当該処理要求に応じて第2階層サーバに要求した処理の所要時間を示す情報を含めて当該ディスパッチャ装置に返信し、
    前記テーブル生成部は、前記一の第1階層サーバから、当該一の第1階層サーバに対して転送した前記処理要求に応じた処理の所要時間を、前記稼動状態として、当該処理要求に対する処理応答に含めて受信する
    請求項1に記載のシステム。
  4. 前記テーブル生成部は、さらに、それぞれの前記第1階層サーバに対し処理要求を送信してから当該処理要求に対する処理応答を受信するまでの所要時間に基づいて、第1階層サーバ毎の稼動状態を評価して、前記状態テーブルに含めて生成し、
    前記ディスパッチャ装置は、生成した前記状態テーブルにおいて、何れの前記第1階層サーバも、稼動状態が正常状態でないことを条件に、前記テーブル生成部による稼動状態の受信、および、前記テーブル送信部による状態テーブルの送信を停止させる停止判断部を更に有する
    請求項1に記載のシステム。
  5. 第2階層サーバの稼動状態は、正常状態、動作しているが処理に閾値以上の時間を要する高負荷状態、および、動作していない異常状態の何れかであり、
    前記テーブル生成部は、同一の第2階層サーバについて複数の前記稼動状態を受信して、第2階層サーバ毎に、当該第2階層サーバについて受信した前記稼動状態のうち、当該第2階層サーバが正常であることを示す稼動状態の割合が予め定められた基準値以上であることを条件に、当該第2階層サーバが正常状態であると評価する
    請求項1に記載のシステム。
  6. 前記テーブル生成部は、正常状態であると評価しなかった第2階層サーバのそれぞれについて、当該第2階層サーバについて受信した前記稼動状態のうち、当該第2サーバが高負荷であることを示す稼動状態の割合が予め定められた基準値以上であることを条件に、当該第2階層サーバが高負荷状態であると評価する
    請求項5に記載のシステム。
  7. 第2階層サーバの稼動状態は、正常状態、動作しているが処理に閾値以上の時間を要する高負荷状態、動作していない異常状態、高負荷状態の疑いがある疑高負荷状態、および、異常状態の疑いがある疑異常状態の何れかであり、
    前記第2テーブル更新部は、第2階層サーバ毎に、当該第2階層サーバの稼動状態が、既に記憶装置に記憶されている状態テーブルにおいて正常状態ではなく、かつ、ディスパッチャ装置のテーブル送信部から受信した状態テーブルにおいては正常状態であることを条件に、当該第2階層サーバの稼動状態を正常状態に更新する
    請求項1に記載のシステム。
  8. 前記第2テーブル更新部は、第2階層サーバ毎に、当該第2階層サーバの稼動状態が、既に記憶装置に記憶されている状態テーブルにおいて正常状態であり、かつ、ディスパッチャ装置のテーブル送信部から受信した状態テーブルにおいては異常状態または疑異常状態であることを条件に、当該第2階層サーバの稼動状態を疑異常状態に更新し、さらに、 稼動状態を疑異常状態に更新してから正常状態に戻すことなく予め定められた期間が経過したことを条件に、当該稼動状態を異常状態に更新する
    請求項7に記載のシステム。
  9. 前記第2テーブル更新部は、第2階層サーバ毎に、当該第2階層サーバの稼動状態が、既に記憶装置に記憶されている状態テーブルにおいて正常状態であり、かつ、ディスパッチャ装置のテーブル送信部から受信した状態テーブルにおいては高負荷状態であることを条件に、当該第2階層サーバの稼動状態を疑高負荷状態に更新し、さらに、
    稼動状態を疑高負荷状態に更新してから正常状態に戻すことなく予め定められた期間が経過したことを条件に、当該稼動状態を高負荷状態に更新する
    請求項7に記載のシステム。
  10. 外部の端末装置から要求された処理を振り分ける複数のディスパッチャ装置と、振り分けられた当該処理を行う複数の第1階層サーバと、第1階層サーバから受けた要求に応じて当該処理の一部を行う少なくとも1つの第2階層サーバとを備えるシステムにおいて、稼動状態を管理する方法であって、
    それぞれの前記ディスパッチャ装置は、
    それぞれの第2階層サーバの稼動状態を示す状態テーブルを格納するための記憶装置を有し、
    ディスパッチャ装置として機能するそれぞれのコンピュータにおいて、
    要求された処理を振り分けるために、外部の端末装置から受けた処理要求を前記複数の第1階層サーバの中から選択した一の第1階層サーバに対し転送部により転送することと、
    それぞれの前記第2階層サーバの稼動状態を、転送された前記処理要求に対応する処理応答に含めて受信し、受信した稼動状態に基づいて第2階層サーバ毎の稼動状態を評価して、第2階層サーバ毎の稼動状態を示す状態テーブルを生成してテーブル生成部により記憶装置に記憶することと、
    前記状態テーブルの生成に応じ、生成した前記状態テーブルを記憶装置から読み出してそれぞれの前記第1階層サーバに対しテーブル送信部により送信することと、
    何れかの第1階層サーバからの状態テーブルの受信に応じて、受信した前記状態テーブルにより記憶装置に記憶した前記状態テーブルを第1テーブル更新部により更新することと
    を有し、
    それぞれの第1階層サーバは、
    それぞれの第2階層サーバの稼動状態を示す状態テーブルを格納するための記憶装置を有し、
    第1階層サーバとして機能するそれぞれのコンピュータにおいて、
    ディスパッチャ装置の転送部から処理要求の転送を受けたことに応じて、要求された処理の一部を第2階層サーバに処理させるために、第2階層サーバに処理要求を要求送信部により送信することと、
    第2階層サーバに送信した前記処理要求に対する処理応答の状態を、当該第2階層サーバの稼動状態として、ディスパッチャ装置の転送部から転送を受けた処理要求に対する処理応答に含めて当該ディスパッチャ装置に状態返信部により返信することと、
    ディスパッチャ装置のテーブル送信部から状態テーブルを受信したことに応じて、受信した当該状態テーブルに基づき記憶装置に既に格納された状態テーブルを第2テーブル更新部により更新することと、
    状態テーブルの更新に応じて、更新した前記状態テーブルをそれぞれの前記ディスパッチャ装置に対しテーブル返信部により返信することと
    を有する方法。
  11. 外部の端末装置から要求された処理を振り分ける複数のディスパッチャ装置と、振り分けられた当該処理を行う複数の第1階層サーバと、第1階層サーバから受けた要求に応じて当該処理の一部を行う少なくとも1つの第2階層サーバとを備えるシステムとして、複数の情報処理装置を機能させるプログラムであって、
    それぞれの情報処理装置を、
    それぞれの第2階層サーバの稼動状態を示す状態テーブルを格納するための記憶装置と、
    要求された処理を振り分けるために、外部の端末装置から受けた処理要求を前記複数の第1階層サーバの中から選択した一の第1階層サーバに転送する転送部と、
    それぞれの前記第2階層サーバの稼動状態を、転送された前記処理要求に対応する処理応答に含めて受信し、受信した稼動状態に基づいて第2階層サーバ毎の稼動状態を評価して、第2階層サーバ毎の稼動状態を示す状態テーブルを生成して記憶装置に記憶するテーブル生成部と、
    前記状態テーブルの生成に応じ、生成した前記状態テーブルを記憶装置から読み出してそれぞれの前記第1階層サーバに送信するテーブル送信部と、
    何れかの第1階層サーバからの状態テーブルの受信に応じて、受信した前記状態テーブルにより記憶装置に記憶した前記状態テーブルを更新する第1テーブル更新部と
    を有するディスパッチャ装置として機能させ、
    他のそれぞれの情報処理装置を、
    それぞれの第2階層サーバの稼動状態を示す状態テーブルを格納するための記憶装置と、
    ディスパッチャ装置の転送部から処理要求の転送を受けたことに応じて、要求された処理の一部を第2階層サーバに処理させるために、第2階層サーバに処理要求を送信する要求送信部と、
    第2階層サーバに送信した前記処理要求に対する処理応答の状態を、当該第2階層サーバの稼動状態として、ディスパッチャ装置の転送部から転送を受けた処理要求に対する処理応答に含めて当該ディスパッチャ装置に返信する状態返信部と、
    ディスパッチャ装置のテーブル送信部から状態テーブルを受信したことに応じて、受信した当該状態テーブルに基づき記憶装置に既に格納された状態テーブルを更新する第2テーブル更新部と、
    状態テーブルの更新に応じて、更新した前記状態テーブルをそれぞれの前記ディスパッチャ装置に返信するテーブル返信部と
    を有する第1階層サーバとして機能させるプログラム。
JP2008552140A 2006-12-27 2007-12-26 システム障害を精度良く検出する技術 Expired - Fee Related JP4866429B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008552140A JP4866429B2 (ja) 2006-12-27 2007-12-26 システム障害を精度良く検出する技術

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2006350936 2006-12-27
JP2006350936 2006-12-27
PCT/JP2007/075035 WO2008081844A1 (ja) 2006-12-27 2007-12-26 システム障害を精度良く検出する技術
JP2008552140A JP4866429B2 (ja) 2006-12-27 2007-12-26 システム障害を精度良く検出する技術

Publications (2)

Publication Number Publication Date
JPWO2008081844A1 JPWO2008081844A1 (ja) 2010-04-30
JP4866429B2 true JP4866429B2 (ja) 2012-02-01

Family

ID=39588526

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008552140A Expired - Fee Related JP4866429B2 (ja) 2006-12-27 2007-12-26 システム障害を精度良く検出する技術

Country Status (6)

Country Link
US (2) US20080215325A1 (ja)
JP (1) JP4866429B2 (ja)
KR (1) KR101033447B1 (ja)
CN (1) CN101568905B (ja)
TW (1) TW200841189A (ja)
WO (1) WO2008081844A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4827721B2 (ja) * 2006-12-26 2011-11-30 ニュアンス コミュニケーションズ,インコーポレイテッド 発話分割方法、装置およびプログラム
US20100017486A1 (en) * 2008-07-16 2010-01-21 Fujitsu Limited System analyzing program, system analyzing apparatus, and system analyzing method
KR101010911B1 (ko) * 2008-12-31 2011-01-26 엔에이치엔(주) 메시징 네트워크 시스템의 메시지 송수신 방법
KR20120060655A (ko) * 2010-12-02 2012-06-12 한국전자통신연구원 서버 공격을 탐지할 수 있는 라우팅 장치와 라우팅 방법 및 이를 이용한 네트워크
CN104219105A (zh) * 2013-05-31 2014-12-17 英业达科技有限公司 错误通报装置及方法
US20150006730A1 (en) * 2013-06-27 2015-01-01 Sap Ag Enabling multi-tenant virtual servers in a cloud system
JP2015118685A (ja) * 2013-11-12 2015-06-25 株式会社リコー 情報処理システム、情報処理方法、及びプログラム
US9329937B1 (en) * 2013-12-31 2016-05-03 Google Inc. High availability architecture
JP2015215827A (ja) * 2014-05-13 2015-12-03 富士通株式会社 送信順序決定プログラム、送信順序決定装置及び送信順序決定方法
US10134425B1 (en) * 2015-06-29 2018-11-20 Amazon Technologies, Inc. Direction-based speech endpointing
CN107291558B (zh) * 2016-03-30 2020-11-24 阿里巴巴集团控股有限公司 一种应用程序接口死锁监控方法和装置
TWI691852B (zh) 2018-07-09 2020-04-21 國立中央大學 用於偵測階層式系統故障之偵錯裝置及偵錯方法、電腦可讀取之記錄媒體及電腦程式產品
JP7063292B2 (ja) * 2019-03-15 2022-05-09 オムロン株式会社 制御システム、設定装置、および設定プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH118623A (ja) * 1997-03-31 1999-01-12 Alcatel Alsthom Co General Electricite ネットワークオブジェクトの状態の伝搬システム
JP2001356972A (ja) * 2000-06-15 2001-12-26 Fast Net Kk ネットワーク監視システム及びネットワーク監視方法
JP2003186833A (ja) * 2001-12-20 2003-07-04 Hitachi Ltd 応答性測定評価装置及びこの装置を利用した分散計算機システム
JP2003196178A (ja) * 2001-12-25 2003-07-11 Hitachi Ltd 階層構成サーバシステム

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4817092A (en) 1987-10-05 1989-03-28 International Business Machines Threshold alarms for processing errors in a multiplex communications system
JP3350293B2 (ja) * 1994-08-09 2002-11-25 株式会社東芝 対話処理装置及び対話処理方法
US5806021A (en) * 1995-10-30 1998-09-08 International Business Machines Corporation Automatic segmentation of continuous text using statistical approaches
US6694055B2 (en) * 1998-07-15 2004-02-17 Microsoft Corporation Proper name identification in chinese
US20020032564A1 (en) * 2000-04-19 2002-03-14 Farzad Ehsani Phrase-based dialogue modeling with particular application to creating a recognition grammar for a voice-controlled user interface
GB9930731D0 (en) * 1999-12-22 2000-02-16 Ibm Voice processing apparatus
WO2001086386A2 (en) 2000-05-10 2001-11-15 Tech Link International Entertainment Ltd. Security system for high level transactions between devices
US6873953B1 (en) * 2000-05-22 2005-03-29 Nuance Communications Prosody based endpoint detection
US6934756B2 (en) * 2000-11-01 2005-08-23 International Business Machines Corporation Conversational networking via transport, coding and control conversational protocols
US20020075306A1 (en) * 2000-12-18 2002-06-20 Christopher Thompson Method and system for initiating communications with dispersed team members from within a virtual team environment using personal identifiers
US20020075304A1 (en) * 2000-12-18 2002-06-20 Nortel Networks Limited Method and system for supporting communications within a virtual team environment
US7177810B2 (en) * 2001-04-10 2007-02-13 Sri International Method and apparatus for performing prosody-based endpointing of a speech signal
US7099912B2 (en) * 2001-04-24 2006-08-29 Hitachi, Ltd. Integrated service management system
US7313526B2 (en) * 2001-09-05 2007-12-25 Voice Signal Technologies, Inc. Speech recognition using selectable recognition modes
US7076430B1 (en) * 2002-05-16 2006-07-11 At&T Corp. System and method of providing conversational visual prosody for talking heads
US6996583B2 (en) 2002-07-01 2006-02-07 International Business Machines Corporation Real-time database update transaction with disconnected relational database clients
US20040006748A1 (en) * 2002-07-03 2004-01-08 Amit Srivastava Systems and methods for providing online event tracking
US7567902B2 (en) * 2002-09-18 2009-07-28 Nuance Communications, Inc. Generating speech recognition grammars from a large corpus of data
US7373300B1 (en) * 2002-12-18 2008-05-13 At&T Corp. System and method of providing a spoken dialog interface to a website
US7243071B1 (en) * 2003-01-16 2007-07-10 Comverse, Inc. Speech-recognition grammar analysis
US20040193400A1 (en) * 2003-03-24 2004-09-30 Mcdonald David D. Method and system for producing cohesive phrases from fixed phrases in a natural language system
US7493251B2 (en) * 2003-05-30 2009-02-17 Microsoft Corporation Using source-channel models for word segmentation
KR100577387B1 (ko) * 2003-08-06 2006-05-10 삼성전자주식회사 음성 대화 시스템에서의 음성 인식 오류 처리 방법 및 장치
JP4516306B2 (ja) * 2003-11-28 2010-08-04 株式会社日立製作所 ストレージネットワークの性能情報を収集する方法
US7756709B2 (en) * 2004-02-02 2010-07-13 Applied Voice & Speech Technologies, Inc. Detection of voice inactivity within a sound stream
JP4855655B2 (ja) * 2004-06-15 2012-01-18 株式会社ソニー・コンピュータエンタテインメント 処理管理装置、コンピュータ・システム、分散処理方法及びコンピュータプログラム
US7680647B2 (en) * 2005-06-21 2010-03-16 Microsoft Corporation Association-based bilingual word alignment
US9300790B2 (en) * 2005-06-24 2016-03-29 Securus Technologies, Inc. Multi-party conversation analyzer and logger
US20070067172A1 (en) * 2005-09-22 2007-03-22 Minkyu Lee Method and apparatus for performing conversational opinion tests using an automated agent

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH118623A (ja) * 1997-03-31 1999-01-12 Alcatel Alsthom Co General Electricite ネットワークオブジェクトの状態の伝搬システム
JP2001356972A (ja) * 2000-06-15 2001-12-26 Fast Net Kk ネットワーク監視システム及びネットワーク監視方法
JP2003186833A (ja) * 2001-12-20 2003-07-04 Hitachi Ltd 応答性測定評価装置及びこの装置を利用した分散計算機システム
JP2003196178A (ja) * 2001-12-25 2003-07-11 Hitachi Ltd 階層構成サーバシステム

Also Published As

Publication number Publication date
JPWO2008081844A1 (ja) 2010-04-30
CN101568905A (zh) 2009-10-28
US20080215325A1 (en) 2008-09-04
US20120023366A1 (en) 2012-01-26
US9128836B2 (en) 2015-09-08
WO2008081844A1 (ja) 2008-07-10
TW200841189A (en) 2008-10-16
KR101033447B1 (ko) 2011-05-09
CN101568905B (zh) 2011-10-12
KR20090102747A (ko) 2009-09-30

Similar Documents

Publication Publication Date Title
JP4866429B2 (ja) システム障害を精度良く検出する技術
US20210250265A1 (en) Health status monitoring for services provided by computing devices
CN105959151B (zh) 一种高可用的流式处理系统及方法
US7225356B2 (en) System for managing operational failure occurrences in processing devices
US9195511B2 (en) Differentiated service-based graceful degradation layer
US9703608B2 (en) Variable configurations for workload distribution across multiple sites
US20120297107A1 (en) Storage controller system with data synchronization and method of operation thereof
US20180101413A1 (en) Control device and control method
US20050234919A1 (en) Cluster system and an error recovery method thereof
JP2021149550A (ja) ストレージシステムおよびストレージシステムの分析方法
US8473788B2 (en) Monitoring program, monitoring apparatus, and monitoring method
JP2018133766A (ja) 処理装置、二重化システム、処理方法、および処理プログラム
US20190124145A1 (en) Method and apparatus for availability management
JP2017174038A (ja) 情報処理システム、情報処理方法およびプログラム
JP6134720B2 (ja) 接続方法
CN111104266A (zh) 访问资源的分配方法、装置、存储介质和电子设备
JP2009025971A (ja) 情報処理装置、ログデータ収集システム
US7607051B2 (en) Device and method for program correction by kernel-level hardware monitoring and correlating hardware trouble to a user program correction
WO2019161908A1 (en) Dynamic determination of consistency levels for distributed database transactions
JP4375121B2 (ja) データベース管理システムにおける処理代行方法
JP2010087834A (ja) ネットワーク監視システム
JP2007133665A (ja) 計算機システム、分散処理方法、計算機及び分散処理プログラム
US20120331334A1 (en) Multi-cluster system and information processing system
WO2023275984A1 (ja) 仮想化システム復旧装置及び仮想化システム復旧方法
JP2011253231A (ja) 分散・並列処理システムの障害監視装置と方法およびプログラム

Legal Events

Date Code Title Description
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: 20111025

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

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

Free format text: PAYMENT UNTIL: 20141118

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees