JP4215384B2 - 分散コンピューティング環境で複数の関係する障害を表す障害情報を参照する技法 - Google Patents

分散コンピューティング環境で複数の関係する障害を表す障害情報を参照する技法 Download PDF

Info

Publication number
JP4215384B2
JP4215384B2 JP2000325790A JP2000325790A JP4215384B2 JP 4215384 B2 JP4215384 B2 JP 4215384B2 JP 2000325790 A JP2000325790 A JP 2000325790A JP 2000325790 A JP2000325790 A JP 2000325790A JP 4215384 B2 JP4215384 B2 JP 4215384B2
Authority
JP
Japan
Prior art keywords
node
failure
program
fault
identifier
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 - Lifetime
Application number
JP2000325790A
Other languages
English (en)
Other versions
JP2001188765A (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
Publication of JP2001188765A publication Critical patent/JP2001188765A/ja
Application granted granted Critical
Publication of JP4215384B2 publication Critical patent/JP4215384B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/0766Error or fault reporting or storing
    • G06F11/0775Content or structure details of the error report, e.g. specific table structure, specific error fields
    • 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/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/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • 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/079Root cause analysis, i.e. error or fault diagnosis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、全般的には、複数の処理ノードを有する分散コンピューティング環境に関し、具体的には、分散コンピューティング環境内の、その環境の複数のノードのうちの同一または異なるノードで発生する複数の関係する障害状態を表す障害情報を参照する技法に関する。
【0002】
【従来の技術】
分散システムは、複雑で動的なコンポーネント相互依存性に起因して管理が困難であることがしばしばである。マネージャが、分散システムで使用され、システム内のコンポーネントのアクティビティおよび現行状態に関する情報の取得、総合管理ポリシによる決定、およびコンポーネントの挙動を変更する制御処置の実行の責任を負う。一般に、マネージャは、分散システム内で5つの機能すなわち、構成、パフォーマンス、アカウンティング、セキュリティ、および障害管理を実行する。
【0003】
これらの5つの機能のどれもが、複雑な分散システムで発生する障害の診断に特に適してはいない。手動管理を使用する障害の診断は、時間がかかり、分散システムの詳しい知識を必要とする。また、あるシステムのリソース制限が別のシステムでの性能低下を引き起こす可能性があり、これは分散アプリケーションのアーキテクチャおよびコンポーネントが一緒に働く方法に精通していなければ明白ではないので、分散環境での障害の切りわけは困難である。
【0004】
分散コンピューティング環境では、多くのソフトウェア・コンポーネントが、エンドユーザに機能を提供するために独立の形で使用される。エンドユーザは、さまざまなコンポーネントの相互依存性を意識せず、その環境が期待される機能を提供することだけを知っていることがしばしばである。コンポーネントは、分散コンピューティング環境のさまざまな計算ノードにまたがって分散される可能性がある。コンポーネントが障害を経験する場合に、この障害は、分散コンピューティング環境全体に波及し、特定の機能について、障害を発生したコンポーネントに依存するコンポーネントの障害を引き起こす可能性がある。この波及効果は、最終的にエンドユーザが期待する機能を拒否されるまで、コンポーネントがそれに依存するコンポーネントの機能に影響しながら継続する。
【0005】
【発明が解決しようとする課題】
この環境での課題は、許容可能な時間期間内にできる限り問題の根本原因(この場合では元の障害を発生したコンポーネント)の近くまで、症状(この場合では期待される機能の拒否)から障害状態をトレースすることである。この努力を複雑にしているのが、分散コンピューティング環境内に同時に複数の障害状態が存在する可能性があるという事実である。根本原因を正しく識別するために、問題の障害症状に関係する障害状態を識別しなければならず、これらの障害状態に関係する情報を収集しなければならない。関係しない障害状態は、分析から除去しなければならない。というのは、これらの状態の修理が、問題の障害症状の修理につながらないからである。今までは、これらの関係する障害を識別するには、分散コンピューティング環境、その実施形態、およびそのコンポーネントの相互依存性の詳しい知識が必要であった。このレベルの知識がある場合でも、問題判定の努力は、問題の障害状態の根本原因がどこにあるかに関する問題調査者の「最善推測」に基づく非決定的な努力である。分散コンピューティング環境が大きく、複雑になればなるほど、より多くのコンポーネントが環境に導入され、障害の原因がどこにあるかを信頼性のある形で「推測」することがますます困難になる。問題判定の努力を行うのに必要な知識は、分散コンピューティング環境の製造者だけが有し、分散コンピューティング環境管理者が障害を効率的に識別し、解決することが困難になっている。
【0006】
【課題を解決するための手段】
簡単に要約すると、本発明には、一態様で、複数のノードを有する分散コンピューティング環境で障害情報を参照する方法が含まれる。この方法には、分散コンピューティング環境のノードでの障害状態の検出時に障害状態に関する情報を記録することによって障害レポートを作成するステップと、障害レポートに識別子を割り当て、ノードで障害レポートを記憶するステップとが含まれ、識別子は、障害レポートを作成した分散コンピューティング環境内のノードと、そのノードに関連する記憶装置内で障害レポートが配置される場所を含む障害レポートを一意に識別する。
【0007】
もう1つの態様では、本発明には、複数のノードを有する分散コンピューティング環境内で障害情報を参照する方法が含まれる。この方法には、第1ノードでの第1プログラム障害状態の検出時に第1プログラム障害レポートを作成するステップと、第1プログラム障害レポートを作成した分散コンピューティング環境内のノードおよびそのノードに関連する記憶装置内で第1プログラム障害レポートが配置される場所を含む第1プログラム障害レポートを一意に識別する第1識別子を第1プログラム障害レポートに割り当てるステップと、第1プログラム障害状態に関係する第2ノードでの第2プログラム障害状態の検出時に第2プログラム障害レポートを作成するステップであって、第2プログラム障害レポートが、第2ノードで第2プログラム障害状態に関する情報を記録することによって作成され、第2ノードおよび第1ノードが、分散コンピューティング環境内の同一ノードまたは異なるノードを含むことができるステップと、第2プログラム障害レポートを作成する分散コンピューティング環境内の第2ノード、第2ノードに関連する記憶装置内で第2プログラム障害レポートが配置される場所、および第2プログラム障害状態に関係する第1プログラム障害状態に関する第1プログラム障害レポートの第1識別子を含む第2プログラム障害レポートを一意に識別する第2識別子を第2プログラム障害レポートに割り当てるステップとが含まれる。
【0008】
分散コンピューティング環境内で障害情報を参照する、上で要約した方法を実行するために機械によって実行可能な命令の少なくとも1つのプログラムを具体的に実施する、システムおよび機械によって可読の少なくとも1つのプログラム記憶装置も、本明細書に記載され、請求される。
【0009】
言い換えると、提示されるのは、分散コンピューティング環境内で障害情報を参照する技法である。環境のすべてのコンポーネントからアクセス可能な持続記憶装置を使用する。システム・コンポーネントによって検出され、持続記憶装置に記録される障害のレポートは、障害状態の性質、状態の可能な原因、およびその状態に応答して行われることが推奨される処置を記述することが好ましい。識別子トークンが割り当てられ、これによって、分散コンピューティング環境内でレコードが存在する位置と、レコードが存在するノードの持続記憶装置内の位置を含む、障害状態に関する特定の障害レポートが一意に識別される。この識別子を使用して、障害レポートを、分散コンピューティング環境内のどの位置からでも突きとめることができ、問題判定および解決策分析に使用するために取り出すことができる。この識別子は、コンポーネントの応答情報の一部として、環境の関係するコンポーネントの間で渡される。あるコンポーネントが、別のコンポーネントの障害に起因する障害を経験する場合には、識別子が、第1のコンポーネントの応答情報から取得され、第2のコンポーネントの障害レポートの一部として、記録される情報に含まれる。
【0010】
本発明の原理によれば、障害レコードを検索するために分散コンピューティング環境問題判定を開始する位置を推測する、以前の必要が、除去される。エンドユーザ・アプリケーションに供給される一意の障害識別子によって、問題判定の努力で、障害レポートが分散コンピューティング環境内のどこにあるかに無関係に障害レポートを突きとめられるようになる。本発明は、調査中の状態に関係する障害レポートを識別する必要をなくす。障害識別子によって、障害レポートが参照され、その障害レポートによって、それに関連する1つ(または複数)の他の障害レポートが参照される。関係するレポートに、別の関係するレポートなどが列挙される。したがって、障害に関係する障害レポートを識別する必要がなくなる。というのは、各障害レポートに、次の関係する障害レポートが明示的に列挙されるからである。
【0011】
さらに、分散コンピューティング環境の実施形態および相互依存性の詳細な理解は、もはや障害状態のトレースに必要ではなくなる。本発明は、分散コンピューティング環境製造者の介入を必要とするのではなく、問題の判定および解決を実行する能力を分散コンピューティング環境管理者の手に返す。問題判定の努力をどの特定の点から進めるかの推測は、もはや問題ではない。というのは、障害レポートに次の関連する問題が列挙され、したがって、次に調査を進めるべき場所が列挙されるからである。関係するリンクが報告されない場合には、問題判定の努力はその点から開始される。もやは、根本原因から問題症状を分離する必要はない。ある問題症状の障害レポートには、その原因に関するレポートが具体的に列挙されるか、最低限でも、最終的に根本原因につながる関係する障害のリスト内の次のリンクが列挙される。本発明の原理によれば、問題症状は、問題判定の努力の役に立つ出発点になるが、これは、以前のシステムでは、努力に暗影を投ずるのみであった。問題症状が、問題の根本原因ではない場合には、障害レポートに、問題のチェーン・リストへのリンクが含まれ、最終的に、問題判定の努力が根本原因に導かれる。
【0012】
【発明の実施の形態】
図1は、本発明と共に使用することのできる分散コンピュータ・システム100の概略図である。分散コンピュータ・システム100は、米国ニューヨーク州アーモンクのInternational Business Machines Corporationが販売するIBMRISC System/6000 Scalable POWERparallel Systems(SP)分散コンピュータ・システムとすることができる。 図1に開示された実施形態は、合計8フレームを有し、各フレームが16個までのノードを有し、合計128個までのノードを有するSPコンピュータ・システムである。ノード106のすべてが、ローカル・エリア・ネットワーク(LAN)102によって結合される。ノード106のそれぞれは、コンピュータ自体であり、当業者に周知の通り、RISC System/6000ワークステーションとすることができる。
【0013】
分散コンピュータ・システム100の1フレーム内のすべてのノードが、1つのLANセグメントに含まれ、LANセグメントは、LANゲート104を介して他のLANセグメントによって結合される。やはりLAN102に接続されるのが、コントロール・ワークステーション(CWS)112であり、これは、分散コンピュータ・システム100の動作を制御する。コントロール・ワークステーションは、システム共用ディスクと称する、システム・データ・リポジトリ(SDR)ファイルが格納される直接アクセス記憶装置(DASD)114を有する。SDRファイルには、システム内に存在するノードのリストおよびそれらの構成などの情報が含まれ、ノード106のそれぞれのリソース定義およびオブジェクト定義が含まれる。各ノード106にも、分散コンピュータ・システム100によって処理されるデータを格納するためのDASD装置107が含まれる。
【0014】
一実施形態では、各フレームのノードが、IBM Scalable POWERparallelスイッチ(SPS)105にも接続される。各フレームのSPS105のそれぞれが、バス110によって、他のフレームの隣接するSPS105に接続される。
【0015】
当技術分野で周知の通り、CWS112は、LAN102によって分散コンピュータ・システム100のフレームにシステム・データ信号およびシステム制御信号を送り、メッセージおよびデータは、SPS105によってあるノード106から別のノード106に送ることができる。
【0016】
本発明に対してより具体的に、図2は、本発明の原理による障害情報参照を使用するための分散コンピューティング環境のノード、ノード・アルファ200の一実施形態を示す図である。ノード・アルファ200には、本発明の原理に従って実施される第1障害データ取込(FFDC)インターフェース220と通信する1つまたは複数のアプリケーション・プログラム210が含まれる。FFDCインターフェース220は、一例ではAIXエラー・ロギング・サブシステム230を介してAIXエラー・ログ持続記憶装置240へ、または、第1障害データ取込エラー・スタック持続記憶装置250へ、障害レポートを格納し、取り出す。代替実施形態では、AIXエラー・ログ持続記憶装置240および第1障害データ取込エラー・スタック持続記憶装置250に、ノード・アルファ200内の同一の記憶装置を含めることができる。第1障害データ取込エラー・スタック持続記憶装置250は、通常はAIXエラー・ログ持続記憶装置240に送られないはずの情報を格納することができる。AIXエラー・ロギング・サブシステム230およびAIXエラー・ログ持続記憶装置240は、International Business Machines Corporationが提供するAIX Operating Systemと共に入手可能なコンポーネントである。
【0017】
本発明によれば、障害を検出するハードウェア・デバイス・ドライバおよびソフトウェア・コンポーネントが、本明細書で第1障害データ取込(FFDC)と称する、明示的に障害の持続的記録のために供給されるソフトウェア機能を使用して、障害の持続的記録を行う。FFDCは、ノード・アルファ200がプログラム障害を最初に検出したノードである場合に、そのプログラム障害に初期障害状態または関連障害状態のどちらが含まれる場合でも、障害レポートを作成する。本明細書で使用する「関連障害状態」は、分散コンピューティング環境の同一ノードまたは異なるノードのいずれかでの、別の障害状態の発生から生じる障害である。
【0018】
障害レコードを作成する時に、FFDCシステム・コンポーネントが、十分な情報を提供し、その結果、1)障害が適当に記述され、その結果、後の分析の努力で障害状態の性質および範囲が理解されるようになり、2)分散コンピューティング環境製造者にとって重要な具体的な詳細が記録され、その結果、製造者が、その状態が存在するようになった理由を理解でき、したがって、分散コンピューティング環境設計の欠陥のすべてを識別でき、修理できるようになることが好ましい。
【0019】
FFDCインターフェース220は、特定の障害レポートごとに一意のトークンを計算する。このトークンを、本明細書では識別子またはFFDC障害識別子(FFDC ID)と称するが、これによって、以下の情報がカプセル化されることが好ましい。
障害レポート上で障害が検出された分散コンピューティング環境内の計算ノード位置が記録される。
障害レポートの格納に使用された持続記憶装置。
レコードが存在する持続記憶装置内の特定の位置。
障害レポートが記録された時刻。
【0020】
FFDC障害識別子は、障害情報を持続記憶装置に記録する前に、FFDCソフトウェアによって生成される。FFDCは、その後、障害情報自体の一部としてFFDC障害識別子を組み込み、障害情報およびそのFFDC障害識別子を持続記憶装置に記録する。FFDC障害識別子は、その後、サービス・コンポーネント、たとえばハードウェア・デバイス・ドライバまたはソフトウェア・コンポーネントに送り返され、そのサービス・コンポーネントは、このトークンをクライアントに供給するか、障害報告情報の一部として使用する。
【0021】
図3は、図2のFFDCインターフェース220、AIXエラー・ロギング・サブシステム230、AIXエラー・ログ持続記憶装置240、および第1障害データ取込エラー・スタック持続記憶装置250を含む、やはり符号200で示される代替のノード・アルファを示す図である。さらに、図3のノード・アルファ200内のアプリケーション・プログラムは、サーバ・プログラムまたはサービス・アプリケーション・プログラム214およびクライアント・アプリケーション・プログラム212によって置換されている。クライアント・アプリケーション・プログラム212およびサービス・アプリケーション・プログラム214の両方が、FFDCインターフェース220と直接にインターフェースすることができる。さらに、クライアント・アプリケーション・プログラム212は、サービス・アプリケーション・プログラムを介してFFDCインターフェースと間接的にインターフェースすることができる。たとえば、サービスが障害を経験し、FFDCインターフェース220から受け取る障害情報をクライアント・アプリケーション・プログラム212に返すことができる。
【0022】
図4は、複数のノードすなわち、ノード・アルファ400、ノード・ベータ401、ノード・ガンマ402、およびノード・デルタ403を有する分散コンピューティング環境を示す図である。ノード・アルファ400、ノード・ベータ401、ノード・ガンマ402、およびノード・デルタ403のそれぞれには、ノード間の分散通信およびデータ受け渡しを処理する分散アプリケーション・コンポーネント405が含まれる。各ノードのFFDCインターフェース420は、互いに直接には通信しない。各ノードには、さらに、アプリケーション・プログラム410ならびに、AIXエラー・ロギング(Elog)サブシステム430、AIXエラー・ログ記憶装置440、およびFFDCエラー・スタック記憶装置450が含まれる。各FFDCインターフェース420は、その特定のノードの持続記憶装置への情報の記録だけに関係する。やはり、FFDCインターフェースは、本発明の原理に従う、障害レポートの形での障害情報の記録および一意の識別子の割当の責任を負う。一意の識別子は、分散アプリケーション・コンポーネントを使用してノード間で転送することができる。一実施形態では、分散アプリケーション・コンポーネント405に、IBM社のParallel System Support Program(PSSP)ソフトウェア、バージョン3.1を含めることができる。
【0023】
図5は、本発明の原理による第1障害データ取込(FFDC)インターフェース論理520を使用する、分散コンピューティング環境のノード・アルファ500の一実施形態を示す図である。この例では、サービス・アプリケーション・プログラム514での初期エラー状態または初期障害状態が発生したと仮定する。やはり、「初期障害状態」には、障害のチェーンの最初の障害または根本障害が含まれ、初期障害状態に関係し、その後に発生する各障害を、「関連障害状態」と称する。FFDCインターフェース520は、サービス・アプリケーション・プログラム514から保存された障害情報から障害レコードを作成する。この障害レコードは、その後、持続記憶装置すなわち、この実施形態では、たとえばその情報がシステム操作員に使用可能にされたかどうかに応じて、AIXエラー・ロギング・サブシステム530を介してAIXエラー・ログ持続記憶装置540または直接に第1障害データ取込エラー・スタック持続記憶装置550のいずれかに記録される。障害位置識別子(FFDC ID)は、FFDCインターフェース520によってサービス・アプリケーション・プログラム514に供給され、サービス・アプリケーション・プログラム514は、この識別子を、この場合ではやはりノード・アルファ500に存在するクライアント・アプリケーション・プログラム512に返すことができる。FFDC IDまたはアプリケーション障害レコードを供給するほかに、サービス・アプリケーション・プログラムは、クライアント・アプリケーション・プログラムに、サービス・アプリケーション・プログラム内でエラーが発生していることの表示も供給する。
【0024】
図6は、図5のノード・アルファで持続記憶装置に格納するための障害レコードを作成する論理の一実施形態を示す図である。まず、障害が、ノードでFFDCインターフェースの上の層で検出される(560)。障害状態に関係するデータを収集し(562)、FFDCインターフェースを介して記録する(564)。
【0025】
FFDCインターフェースを介するデータのこの記録には、障害状態に関係する障害データの収集(566)と、障害が関連障害状態である場合の、関係する障害レコードからのFFDC IDの収集(568)が含まれる。新しいレコードの障害位置識別子を作成し(570)、障害データ、新しいレコードのFFDC IDおよび、供給される場合に関係障害からのFFDC IDから、障害レコード自体を作成する(572)。FFDCインターフェースは、その後、データを持続記憶装置のどこに格納するかを選択する(574)すなわち、データを(この例では)FFDCエラー・スタック(576)とAIXエラー・ログ(578)のどちらに記録するかを選択する。新しい障害レポートのFFDC ID(580)を、FFDCインターフェースによって返して(564)クライアント・プログラムに障害表示を転送する(582)。
【0026】
図7は、サービス・アプリケーション・プログラム614内の障害状態に応答してクライアント・アプリケーション・プログラム612内で関連障害状態が発生したと仮定される、分散コンピューティング環境のノード600を示す図である。クライアント・アプリケーション・プログラム612からの障害情報が、第1障害データ取込(FFDC)インターフェース620に転送されて、第1障害データ取込エラー・スタック持続記憶装置650またはAIXエラー・ロギング・サブシステム630を介するAIXエラー・ログ持続記憶装置640への格納のためのもう1つの障害レコードの作成に使用される。新しい障害位置識別子FFDC IDが、最終的にFFDCインターフェース620によってクライアント・アプリケーション・プログラムに返される。関連障害状態の障害情報の受取と共に、FFDCインターフェースは、サービス・アプリケーション・プログラム614で発生した初期障害状態に関する障害レポートの位置を識別する、サービス・アプリケーション・プログラム614からの障害位置識別子(FFDC ID)を受け取る。この新しいFFDC IDは、クライアント・アプリケーション・プログラムに転送され、このクライアント・アプリケーション・プログラム自体は、(たとえば)分散コンピューティング環境の別のノードに存在する、クライアントに対するサーバ・プログラムとすることができる。そのような場合には、エラー表示が、クライアント・アプリケーション・プログラム612の障害レコードの障害位置識別子(FFDC ID)と共に、他のノードのクライアント・アプリケーションに送られる。
【0027】
図8は、本発明の第1障害データ取込インターフェース論理を使用する、図7のノードで発生する関連障害状態を記録する論理流れの例を示す図である。関連障害状態を検出し(660)、サーバ・プログラムの障害位置識別子(FFDCID)を、サーバ・プログラムから取得する(661)。関連障害状態に関係するデータを収集し(662)、FFDC論理を使用して障害レコードを作成する(664)。
【0028】
FFDC論理は、関連障害に関係するデータ(666)ならびに関係する障害レコードからのFFDC ID(668)を使用してデータ・レコードを作成する。新しい障害位置識別子を割り当て(670)、障害データ、レコードのFFDC ID、および前の関係する障害からのFFDC IDを使用して、新しい障害レコードを作成する(672)。記憶装置を選択する(674)が、これには、エラー・スタック(676)またはAIXエラー・ログ(678)を含めることができる。インターフェース論理(664)を介して新しいFFDC IDを返して(680)、障害表示と共にノード外(この例では)のクライアント・プログラムに転送する(682)。
【0029】
図9は、リモート・ノードからノード・ベータ700に受け取られる障害通知の例を示す図である。この例では、分散アプリケーション・コンポーネント713が、障害通知を受け取り、障害情報を第1障害データ取込(FFDC)インターフェース720に供給する。障害情報のほかに、リモート・ノードのコンポーネントからの障害位置識別子も受け取られ、その情報が、ノード・ベータ700で発生する関連障害状態の障害レコードの作成に使用される。障害レコードは、やはり、たとえば操作員がサービスまたは交換部品を要求するためにエラーについて現在知る必要があるかどうかに応じて、エラー・ロギング・サブシステム730を介してAIXエラー・ログ持続記憶装置740にまたは第1障害データ取込エラー・スタック持続記憶装置750に記録される。FFDCインターフェース720は、新しい関連障害状態の新しい識別子を返す。この新しいFFDC識別子は、エラー表示と共に、たとえば分散コンピューティング環境の別のノードで稼動する、クライアント・アプリケーションに転送される。
【0030】
図10は、図9に示された関連障害状態を記録する一実施形態の流れ図である。リモート・コンポーネントから障害通知を受け取る(760)が、これには障害位置識別子が含まれる(761)。ノード・ベータ700(図9)で発生している関連障害状態に関係するデータを収集する(762)。この情報を一緒に、障害レポート内の障害データの記録のためにFFDCインターフェースに転送する(764)。障害レポートは、ノード・ベータでの障害に関係するデータ(766)を、リモート・コンポーネントから受け取ったFFDC ID(768)と組み合わせ、ノード・ベータで作成される新しい障害レコードに新し障害位置識別子を割り当てる(770)ことによって構成される。障害レコードは、関連障害状態データ、新しい障害レコードのFFDC ID、およびリモート・コンポーネントから受け取った関係する障害からのFFDC IDから作成される(772)。FFDCインターフェースは、その後、記憶媒体を選択する(774)が、これには、上で説明したように、FFDCエラー・スタック(776)またはAIXエラー・ログ(778)への障害レコードの記録を含めることができる。記録の後に、ノード・ベータで格納された関連障害レコードの障害位置識別子(780)を障害表示と共にクライアント・プログラムに転送するためにFFDCインターフェースを介して返す(782)。
【0031】
上で説明した発明は、分散コンピューティング環境での障害の診断および解決での前述の問題を解決するのに使用される。これらの問題の解決における問題点には、下記が含まれることを想起されたい。
エンドユーザが見る症状が、問題自体の根本原因であることがほとんどない。
症状は、通常は、分散コンピューティング環境の依存コンポーネントでの他の障害によって引き起こされた障害によって引き起こされる。
関係する障害を自動的に識別できない限り、分散コンピューティング環境の実施形態およびコンポーネント相互依存性の詳しい理解が、これらの問題を解決する方法を知るのに必要である。この情報は、分散コンピューティング環境製造者だけが知っている(問題解決を顧客の手から奪う)。
関係する障害のレコードを識別しなければならず、関係しない障害レコードを分析に含めてはならない。
障害レコードが、分散コンピューティング環境全体に分散している。
【0032】
要約すると、本発明の使用を介して、初期障害状態を検出する分散コンピューティング環境コンポーネントが、この障害に関する情報を持続記憶装置に記録する。このコンポーネントは、FFDCソフトウェアに障害情報を供給し、FFDCソフトウェアは、この障害レポートを識別する一意のトークン(FFDC障害識別子)を計算する。FFDCソフトウェアは、その後、このレコードのFFDC障害識別子と、コンポーネントによって供給された障害情報を組み合わせて障害レポートにし、このレポートを持続記憶装置に記録する。コンポーネントは、障害を示すソフトウェア・エラー・コードを供給するが、障害情報の一部としてこのトークンを依存コンポーネントに供給する。
【0033】
依存コンポーネントは、その後、障害を発生したコンポーネントに要求する機能が、それ自体の機能を送達するのに必要であったので、障害を経験する可能性がある。依存コンポーネントは、それ自体の障害状態に関する情報も持続記憶装置に記録し、記録される障害情報の一部として、障害を発生したコンポーネントからのFFDC障害識別子を供給する。それを行う際に、依存コンポーネントは、それ自体の障害状態と、それを引き起こした障害を発生したコンポーネントの元の障害状態との間のリンクを確立する。依存コンポーネントは、この情報をFFDCソフトウェアにサブミットし、FFDCソフトウェアは、依存コンポーネントの障害レポートを識別する新しいFFDC識別子を計算する。FFDCソフトウェアは、新しいFFDC識別子、依存コンポーネントの障害情報、および元の障害を発生したコンポーネントの関係するFFDC障害識別子を、単一の障害レポートに組み込み、このレポートを持続記憶装置に記録する。依存コンポーネントは、その後、FFDCソフトウェアから、それ自体のレコード(元の障害を発生したコンポーネントのレコードではなく)のFFDC識別子を受け取る。依存コンポーネントは、障害を示すソフトウェア・エラーを供給するが、それ自体のクライアントにこのFFDC識別子を供給する。
【0034】
分散コンピューティング環境の次のコンポーネントは、依存コンポーネントを元の障害を発生したコンポーネントであるかのように扱って、上の段落で輪郭を示したステップを繰り返す。次のコンポーネントは、FFDC障害識別子および障害情報をFFDCソフトウェアに供給し、FFDCソフトウェアは、新しいコンポーネントのレポートの新しいFFDC障害識別子を計算し、新しい障害レコード内のすべての情報を持続記憶装置に記録し、FFDC障害識別子を新しいコンポーネントに与える。新しいコンポーネントは、この新しいFFDC障害識別子を、その障害情報の一部としてクライアントに供給し、このサイクルが繰り返される。
【0035】
この方法を使用して、分散コンピューティング環境のコンポーネントが、関係する障害を一緒にリンクする。別のコンポーネントの障害に起因する障害が発生する時には、必ず、関係するコンポーネントの障害レポートへのリンクが確立される。
【0036】
前述の図では、ノード・アルファで実行中のコンポーネントが、障害状態を検出する。そのコンポーネントは、この障害状態を持続記憶装置に記録する際に、その障害レポートだけを識別する一意のトークンを得る。このトークンは、分散コンピューティング環境内のどこからでも、この障害に関する正確な障害レポートを突きとめるのに使用することができる。ノード・アルファのコンポーネントは、このトークン(FFDC障害識別子)を、それのサービスを要求したものと同一のノードのコンポーネントに供給する。この障害のゆえに、クライアント・アプリケーションも障害を経験する。クライアントは、障害情報およびサービスのFFDC障害識別子をFFDCソフトウェアに供給し、FFDCソフトウェアは、サービスのFFDC識別子を障害情報の一部として記録する。これによって、クライアントの障害状態の間のリンクが確立される。新しいFFDC障害識別子が、クライアントの障害のために作成され、FFDCによってクライアントに供給される。クライアントは、この新しいFFDC障害識別子を、ノード・ベータで実行中の、アルファで実行中のコンポーネントにサービスを要求したコンポーネントに供給する。このシナリオが繰り返され、ベータのコンポーネントがノード・アルファからのFFDC障害識別子をその障害レポートに記録し、これによって、ベータの障害状態とノード・アルファでの出来事の間のリンクが確立される。新しいFFDC障害識別子が、ベータの障害レポートのために作成され、ベータの障害応答の一部としてエンドユーザ・アプリケーションに返される。
【0037】
エンドユーザ・アプリケーションは、FFDC障害識別子をノード・ベータから受け取った時に、関係する障害状態のリストの初期リンクを有する。このFFDC障害識別子は、その後、他のFFDCソフトウェア・ユーティリティが、その識別子に関する正確な障害レポートを取り出し、関係する障害の識別子を取得し、その障害レポートも取得するのに使用される。次の障害レポートに、別の関連障害レポートへのリンクも含まれる場合、そのレポートも取得され、このサイクルは、根本原因の障害が取得されるまで繰り返される。
【0038】
図11は、各ノードが本発明のFFDCインターフェース論理820を実施する複数のノード800、801、802、および803を有する分散コンピューティング環境の例である。各ノードには、上で説明したAIXエラー・ロギング・サブシステム830、AIXエラー・ログ記憶装置840、およびFFDCエラー・スタック記憶装置850も含まれる。これらのノードは、FFDCコマンド815および各ノードのRシェル817を使用して通信する。Rシェル817は、UNIXオペレーティング・システムで使用可能なリモート・シェル・コマンドであり、リモート・ノードでコマンドを実行するジョブ許可を提供する。分散アプリケーションが障害通知を受け取ったと仮定すると、エンドユーザ・アプリケーション811は、分散アプリケーション・コンポーネント813によって、障害について知らされ、上で説明したように、障害位置識別子(FFDC ID)を与えられる。この障害位置識別子FFDC IDは、その後、FFDCコマンド815およびRシェル817コマンドを介して要求元ノードに転送することができる。この実施形態では、エンドユーザ・アプリケーション811は、本発明の原理に従って連鎖された識別子を使用して障害状態の完全なリストを取り出し、分散コンピューティング環境の適当なノード800、801、802、または803からレポートを取り出すことができる。
【0039】
図12および13は、障害レポートを取り出すための一実施形態を示す図である。根本原因までの障害状態の症状のトレースは、分散アプリケーションを呼び出し(862)、アプリケーションが成功裡に完了したかどうかを判定するために待機する(864)ことによって開始することができる(860)。成功裡に完了した場合、処理を単純に終了する(896)。障害状態が発生した場合、障害位置識別子をアプリケーション状況から取得し(866)、第1データ取込障害レポート・コマンドを呼び出して(867)、分散システムのノードから障害レポート情報を収集する。
【0040】
図13からわかるように、まず、ローカルFFDCエラー・スタックから障害レポートを取り出し(868)、これを使用して、次の障害レポートに関する位置情報を得る(870)。次の障害レポートがローカル・ノード上に記録されているかどうかを問い合わせる(872)。そうである場合には、FFDCインターフェースは、レポートがAIXエラー・ログまたはFFDCエラー・スタックのどちらに配置されたかを判定する。次のレポートを、適当な持続記憶装置から取り出す(876および878、または、880および882)。その代わりに、次のレポートがリモート・ノード上にある場合には、リモート・ノードに送られる障害レポート・コマンドを使用して、リモート・ノードの第1障害データ取込インターフェースを使用する(890)。障害レポートが、リモート・ノードから返される(892)。障害レポート(892、882、または878)から関係するFFDC IDを取り出し(884)、FFDCインターフェースによって生成されるレポートで使用するために障害レポートを準備する(886)。障害レポートは、FFDCインターフェース(図13)に転送されるが、レポートを転送する前に、関係するFFDC IDがレポート内で見つかるかどうかを判定する(888)。そうである場合には、処理がループ・バックして、そのFFDC IDに関係する障害レポートを取得する(868)。障害レポートが、クライアント・プログラムに返され、推奨される処置を実行するために調べられ(894)、その後、トレース処理が終了する(896)。
【0041】
上で述べた本発明の障害情報参照機能を、下でさらに要約する。当業者は、図面に示された2つのソフトウェア・ユーティリティによって供給される障害レコードの持続記憶が、例にすぎないことに留意されたい。AIXエラー・ログは、IBM社のAIX Operating Systemの一部として供給され、第1障害データ取込エラー・スタックは、本発明の一部として供給される新しい持続記憶テーブルである。
【0042】
一意の障害識別子は、文字列として供給することができ、下の情報からFFDCユーティリティによって計算することができる。
障害レポートが記録された日付および時刻。
情報の記録に使用された持続記憶装置の表示(たとえば、AIXエラー・ログおよびFFDCエラー・スタック)。
AIXエラー・ログ装置が使用された時にはこの記録を行うのに使用されたエラー情報テンプレート、FFDCエラー・スタック装置が使用された時にはFFDCエラー・スタック・ファイルのi−ノード番号。
IPv4フォーマットまたはIPv6フォーマットのいずれかの、計算ノードのIPアドレス。
【0043】
このトークンは、表示可能文字だけで構成され、この情報をすべての端末装置またはテキスト・ファイルに表示することが可能であり、このデータをシステム・コンポーネント間で伝送することができる。
【0044】
ソフトウェア・コンポーネント、アプリケーション、およびハードウェア・デバイス・ドライバは、コンポーネント始動時に実行環境を初期設定する。情報は、FFDCユーティリティによる便利で効率的な取出を可能にし、障害レポートを生成する必要が生じた時に必ずこの情報を継続的に取り出す必要をなくすために、プロセスの環境内に格納される。コンピュータ・ノードのIPアドレスおよび使用されるFFDCエラー・スタック(ある場合)は、この環境データに含まれる。
【0045】
障害状態が検出された時に、ソフトウェア・コンポーネント、アプリケーション、またはハードウェア・デバイス・ドライバは、FFDCユーティリティに下記の情報を供給する。
障害レポートの記録に使用される持続記憶装置の表示(たとえば、AIXエラー・ログまたはFFDCエラー・スタック)。
エラー情報テンプレート(AIXエラー・ログの場合)または記述メッセージ(FFDCエラー・スタックの場合)を介する、障害状態の記述。AIXエラー・ログが持続記憶装置として選択された時には、エラー情報テンプレートは、少なくとも4つの詳細データ・フィールドを指定し、その最初の3つがFFDCユーティリティによる使用のために予約されることが期待される。
問題調査者による使用を目的とする、障害の詳細。
前に報告された障害がこの障害状態の出現に影響した場合の、任意選択のFFDC障害識別子。
【0046】
FFDCユーティリティは、下記に基づいて、この障害レポートの一意のFFDC障害識別子を計算する。
起動中にコンポーネントによってセット・アップされる環境情報すなわち、計算ノードのIPアドレスおよびFFDCエラー・スタック・ファイルのi−ノード番号(FFDCエラー・スタックがこのコンポーネントによって使用される持続記憶装置である場合)。
エラー情報テンプレート識別子(AIXエラー・ログがこのコンポーネントによって使用される持続記憶装置である場合)。
現在の日付および時刻。
【0047】
障害情報をAIXエラー・ログに記録する時に、コンポーネントによって供給される前に報告された障害のFFDC障害識別子が含まれる。この識別子は、たとえば第3詳細データ・フィールドに記録される。
【0048】
障害情報をFFDCエラー・スタックに記録する時に、障害レポートおよび任意選択の関係する障害のFFDC障害識別子が、その目的のために予約されたレコード・フィールドに記録される。
【0049】
FFDCユーティリティは、障害レポートを適当な持続記憶装置に記録し、新たに作成されたレコードのFFDC障害識別子を、障害を報告したコンポーネントに供給する。コンポーネントは、このFFDC障害識別子を、障害報告情報の一部として、障害状態を知らせるためにそのクライアントに通常供給する障害表示またはメッセージまたは戻りコードと共に、そのクライアントに供給することが期待される。
【0050】
コンポーネントが、可変量の障害情報をそのクライアントに送る能力を有しない(たとえば、終了状況だけを親シェルまたはスクリプトに供給するコマンド)場合、コンポーネントは、このFFDC障害識別子を標準エラー装置に表示する。コンポーネントのクライアントは、コンポーネントからの標準エラー出力を解析することによってFFDC障害識別子を得る。
【0051】
障害状態の根本原因を見つけるために、症状の障害レポートのFFDC障害識別子が、FFDCエンドユーザ・ユーティリティに供給される。このユーティリティは、FFDC障害識別子を解釈して、下記を判定する。
分散コンピューティング環境のどの計算ノードに障害レポートがあるか。
その計算ノードのどの持続記憶装置が障害レポートの記録に使用されているか。
障害情報の記録にどのエラー情報テンプレートが使用されたか(AIXエラー・ログが持続記憶装置である場合)。
その計算ノードのどのファイルがFFDCエラー・スタック情報の格納に使用されているか(FFDCエラー・スタックが持続記憶装置である場合)。
持続記憶装置への記録が行われた日付および時刻。
【0052】
この情報を取得した後に、ユーティリティは、FFDC障害識別子によって示される計算ノードの持続記憶装置から障害レポートを取り出す。FFDC障害識別子自体は、その障害状態の特定のレコードを識別するための検索キーとして使用され、FFDC障害識別子は、障害レポートに記録される情報に含まれる。AIXエラー・ログから障害レポートを取得するには、AIXオペレーティング・システム・コマンド「errpt」を使用し、FFDCエラー・スタック装置から障害レポートを取得するには、FFDCエンドユーザ・コマンド「fcstkrpt」を使用する。AIXコマンド「rsh」は、障害のレコードが、FFDCエンド・ユーザが実行中のシステムに存在しない場合に、分散コンピューティング環境内のリモート・ノードから情報を取得するのに使用される。
【0053】
FFDCエンドユーザ・ユーティリティによって得られた障害レポートは、エンドユーザの確立したロケールを使用して、FFDCユーティリティ・ユーザに供給される。このレポートに、関係する障害または関連障害のFFDC障害識別子が含まれる場合には、このFFDC障害識別子が、障害レポートの内容から取得される。前にリストしたステップが繰り返され、下記の条件の1つが満足されるまで障害レポートが取得される。
障害レポートによって参照される障害レポートがこれ以上存在しない。そのレポートに、障害レポート内の関連FFDC障害識別子がリストされていない。
FFDC障害識別子の障害レポートを取得することができない。
【0054】
したがって、障害レポートのリストが、エンドユーザに提供される。ユーザは、エンドユーザの視点から気付かれた障害症状につながる障害のシーケンスを理解することができる。問題判定の努力は、エンドユーザの障害症状から開始し、その障害がどこから発したかを「推測」しようとするのではなく、出発点としてユーティリティから得られた最後の障害レポートを使用することによって開始することができる。
【0055】
たとえば、本発明は、たとえばコンピュータ使用可能媒体を有する、製造品(たとえば、1つまたは複数のコンピュータ・プログラム製品)に含めることができる。この媒体は、たとえば、本発明の機能を提供し促進するコンピュータ可読プログラム・コード手段をその中に実施される。製造品は、コンピュータ・システムの一部として含めるか、別々に販売することができる。
【0056】
さらに、本発明の機能を実行するために機械によって実行可能な少なくとも1つの命令のプログラムを具体的に実施する、機械によって可読の少なくとも1つのプログラム記憶装置を提供することができる。
【0057】
本明細書で示された流れ図は、例として提供される。これらの図または本明細書に記載のステップ(または動作)に対する、本発明の主旨から逸脱しない変形形態がありえる。たとえば、場合によっては、ステップを異なる順序で実行することができ、ステップの追加、削除、または変更を行うことができる。これらの変形形態のすべてが、請求項に記載の本発明の一部を含むと見なされる。
【図面の簡単な説明】
【図1】本発明の原理による障害情報参照機能を使用する分散コンピューティング環境の一実施形態を示す図である。
【図2】本発明の原理による第1障害データ取込インターフェース論理を使用する分散コンピューティング環境の1ノードのブロック図である。
【図3】サーバ・アプリケーション・プログラムとクライアント・アプリケーション・プログラムの両方を有し、やはり本発明の原理による第1障害データ取込インターフェース論理を使用する分散コンピューティング環境の1ノードのブロック図である。
【図4】各処理ノードが分散アプリケーション・コンポーネントを使用して他の処理ノードと通信し、各処理ノードに本発明の原理による第1障害データ取込(FFDC)インターフェース論理が含まれる、複数の処理ノードを有する分散コンピューティング環境の図である。
【図5】本発明の原理による第1障害データ取込インターフェース論理を使用し、サービス・アプリケーション・プログラムでの初期エラーが仮定される、分散コンピューティング環境の1ノードのブロック図である。
【図6】本発明の第1障害データ取込インターフェース論理を使用して、図5の初期プログラム障害状態を記録するための一実施形態の流れ図である。
【図7】関連障害状態がクライアント・アプリケーション・プログラムで発生した場合の、本発明の第1障害データ取込インターフェース論理を有する分散コンピューティング環境のノードを示す図である。
【図8】第1障害データ取込インターフェース論理を使用して図7の関連障害状態に関する情報を記録するための一実施形態の流れ図である。
【図9】本発明の原理による第1障害データ取込インターフェース論理を使用して、分散システムのリモート・ノード上のコンポーネントからの障害通知に応答してノードで関連障害状態を記録する、分散コンピューティング環境のノードを示す図である。
【図10】本発明の第1障害データ取込インターフェース論理を使用して図9の関連障害状態を記録するための一実施形態の流れ図である。
【図11】各ノードが本発明の第1障害データ取込(FFDC)インターフェース論理を使用し、これを使用して本発明の技法を使用して根本原因まで障害の症状をトレースすることができる、分散コンピューティング環境の一実施形態を示す図である。
【図12】本発明の第1障害データ取込インターフェース論理および割り当てられた識別子を使用して、根本原因まで障害の症状をトレースするための一実施形態の流れ図である。
【図13】本発明の第1障害データ取込インターフェース論理および割り当てられた識別子を使用して、根本原因まで障害の症状をトレースするための一実施形態の流れ図である。
【符号の説明】
100 分散コンピュータ・システム
102 ローカル・エリア・ネットワーク(LAN)
104 LANゲート
105 IBM Scalable POWERparallelスイッチ(SPS)
106 ノード
107 DASD装置
110 バス
112 コントロール・ワークステーション(CWS)
114 直接アクセス記憶装置(DASD)
200 ノード・アルファ
210 アプリケーション・プログラム
212 クライアント・アプリケーション・プログラム
214 サービス・アプリケーション・プログラム
220 第1障害データ取込(FFDC)インターフェース
230 AIXエラー・ロギング・サブシステム
240 AIXエラー・ログ持続記憶装置
250 第1障害データ取込エラー・スタック持続記憶装置

Claims (12)

  1. サーバ・プログラムおよびクライアント・プログラムを含む複数のノードを有する分散コンピューティング環境で障害情報を参照する方法であって、前記複数のノードのうちの1つのノードで初期障害状態が検出されたときに、
    前記1つのノードが、前記初期障害状態に関する情報を記録することによって、第1障害レポートを作成するステップと、
    前記1つのノードが、前記複数のノードのいずれかのノードからの参照のために、前記1つのノード、および前記1つのノードに関連する記憶装置内で前記第1障害レポートが配置される場所を示す第1識別子を前記第1障害レポートに割り当て、前記第1識別子を含む障害レポートを前記記憶装置に格納するステップと、
    前記1つのノードを除く前記複数のノードのいずれかのノードが、前記初期障害状態の結果として生ずる関連障害状態を検出するステップと、
    前記1つのノードから送付された前記第1識別子を受領して前記いずれかのノードが、前記関連障害状態に関する情報を記録することによって第2障害レポートを作成するステップと、
    前記いずれかのノードが、前記いずれかのノード、および前記いずれかのノードに関連する記憶装置内で前記第2障害レポートが配置される場所を示す第2識別子を前記第2障害レポートに割り当て、前記第1識別子および前記第2識別子を含む第2障害レポートを前記いずれかのノードに関連する記憶装置に格納するステップと
    を含む方法。
  2. 前記初期障害状態が、前記1つのノードの第1プログラムで発生し、前記関連障害状態が、前記いずれかのノードの第2プログラムで発生し、前記第1プログラムが、サーバ・プログラムを含み、前記第2プログラムが、クライアント・プログラムを含む、請求項1に記載の方法。
  3. 前記関連障害状態が、第1関連障害状態を含み、前記方法が、n個の追加の関連障害状態について前記作成するステップおよび前記格納するステップを繰り返すステップを含み、各追加の関連障害状態に関する障害レポートが、前記追加の関連障害状態が発生したノード、および該ノードに関連する記憶装置内でその障害レポートが配置される場所を示す識別子と、前記初期障害状態に関係する前記n個の追加の障害状態を含む障害状態のチェーン内の障害状態に関する前の障害レポートの取出のための識別子とを含む、請求項1に記載の方法。
  4. サーバ・プログラムおよびクライアント・プログラムを含む複数のノードを有する分散コンピューティング環境で障害情報を参照する方法であって、
    第1ノードでの第1プログラム障害状態の検出時に、前記第1ノードが前記第1プログラム障害状態に関する情報を記録することによって、第1プログラム障害レポートを作成するステップと、
    前記第1ノードが、前記第1ノード、および前記第1ノードに関連する記憶装置内で前記第1プログラム障害レポートが配置される場所を示す第1識別子を前記第1プログラム障害レポートに割り当てるステップと、
    前記第1プログラム障害状態に関係する、前記第1ノードと同じまたは前記第1ノードとは異なる第2ノードでの第2プログラム障害状態の検出時に、前記第2ノードが前記第2プログラム障害状態に関する情報を記録することによって第2プログラム障害レポートを作成するステップと、
    前記第1ノードが、前記第1識別子を前記第2ノードに送るステップと、
    前記第1ノードを除く前記第2ノードが、前記第2ノード、および前記第2ノードに関連する記憶装置内で前記第2プログラム障害レポートが配置される場所を示す第2識別子を前記第2プログラム障害レポートに割り当て、前記第1識別子および前記第2識別子を含む第2プログラム障害レポートを前記第2ノードに関連する記憶装置に格納するステップと
    を含む方法。
  5. 前記分散コンピューティング環境内のノードが障害情報をトレースするステップをさらに含み、前記トレースするステップが、前記第2識別子を使用して前記第2ノードから前記第2プログラム障害レポートを取り出すステップと、それから前記第1識別子を突きとめるステップと、前記第1識別子を使用して、前記分散コンピューティング環境の前記第1ノードの前記第1プログラム障害レポートを取り出すステップを含む、請求項4に記載の方法。
  6. サーバ・プログラムおよびクライアント・プログラムを含む複数のノードを有する分散コンピューティング環境で障害情報を参照するシステムであって、
    ノードでの初期障害状態の検出時に、当該ノードにおいて前記初期障害状態に関する情報を記録することによって、第1障害レポートを作成する手段と、
    前記複数のノードのいずれかのノードからの参照のために、前記ノード、および前記ノードに関連する記憶装置内で前記第1障害レポートが配置される場所を示す第1識別子を前記第1障害レポートに割り当て、前記第1識別子を含む前記第1障害レポートを前記記憶装置に格納する手段と、
    前記初期障害状態の結果として、前記1つのノードを除く前記複数のノードのいずれかのノードで発生する関連障害状態に関する情報を記録することによって第2障害レポートを作成する手段と、
    前記いずれかのノード、および前記いずれかのノードに関連する記憶装置内で前記第2障害レポートが配置される場所を示す第2識別子を前記第2障害レポートに割り当て、前記第1識別子および前記第2識別子を含む第2障害レポートを前記いずれかのノードに関連する記憶装置に格納する手段と
    を含むシステム。
  7. 前記初期障害状態が、前記ノードの第1プログラムで発生し、前記関連障害状態が、前記いずれかのノードの第2プログラムで発生し、前記第1プログラムが、サーバ・プログラムを含み、前記第2プログラムが、クライアント・プログラムを含む、請求項6に記載のシステム。
  8. 前記関連障害状態が、第1関連障害状態を含み、前記システムが、n個の追加の関連障害状態について、それぞれの障害レポートの作成および識別子の割当を実行する手段を含み、各追加の関連障害状態に関する障害レポートが、前記追加の関連障害状態が発生したノード、および該ノードに関連する記憶装置内でその障害レポートが配置される場所を示す識別子と、前記初期障害状態に関係する前記n個の追加の障害状態を含む障害状態のチェーン内の障害状態に関する前の障害レポートの取出のための識別子とを含む、請求項6に記載のシステム。
  9. サーバ・プログラムおよびクライアント・プログラムを含む複数のノードを有する分散コンピューティング環境で障害情報を参照するシステムであって、
    第1ノードで検出された第1プログラム障害状態に関する情報を記録することによって第1プログラム障害レポートを作成する手段と、
    前記第1ノード、および前記第1ノードに関連する記憶装置内で前記第1プログラム障害レポートが配置される場所を示す第1識別子を前記第1プログラム障害レポートに割り当てる手段と、
    前記第1プログラム障害状態に関係する、前記第1ノードと同じまたは前記第1ノードとは異なる第2ノードでの第2プログラム障害状態の検出時に、前記第2プログラム障害状態に関する情報を記録することによって第2プログラム障害レポートを作成する手段と、
    前記第2ノード、および前記第2ノードに関連する記憶装置内で前記第2プログラム障害レポートが配置される場所を示す第2識別子を前記第2プログラム障害レポートに割り当て、前記第1識別子および前記第2識別子を含む第2プログラム障害レポートを前記第2ノードに関連する記憶装置に格納する手段と
    を含むシステム。
  10. 前記分散コンピューティング環境内で障害情報をトレースする手段をさらに含み、前記トレースする手段が、前記第2識別子を使用して前記第2ノードから前記第2プログラム障害レポートを取り出す手段と、それから前記第1識別子を突きとめる手段と、前記第1識別子を使用して、前記分散コンピューティング環境の前記第1ノードの前記第1プログラム障害レポートを取り出す手段とを含む、請求項9に記載のシステム。
  11. 請求項1ないし請求項3のいずれかに記載の方法を実行するためのプログラムを記憶したプログラム記憶装置。
  12. 請求項4または請求項5に記載の方法を実行するためのプログラムを記憶したプログラム記憶装置。
JP2000325790A 1999-10-28 2000-10-25 分散コンピューティング環境で複数の関係する障害を表す障害情報を参照する技法 Expired - Lifetime JP4215384B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/429,513 US6651183B1 (en) 1999-10-28 1999-10-28 Technique for referencing failure information representative of multiple related failures in a distributed computing environment
US09/429513 1999-10-28

Publications (2)

Publication Number Publication Date
JP2001188765A JP2001188765A (ja) 2001-07-10
JP4215384B2 true JP4215384B2 (ja) 2009-01-28

Family

ID=23703579

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000325790A Expired - Lifetime JP4215384B2 (ja) 1999-10-28 2000-10-25 分散コンピューティング環境で複数の関係する障害を表す障害情報を参照する技法

Country Status (3)

Country Link
US (1) US6651183B1 (ja)
JP (1) JP4215384B2 (ja)
GB (1) GB2363488B (ja)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002139807A (ja) * 2000-10-31 2002-05-17 Fuji Photo Film Co Ltd 表示装置、表示方法及び画像処理システム
JP4345334B2 (ja) * 2003-03-28 2009-10-14 日本電気株式会社 耐障害計算機システム、プログラム並列実行方法およびプログラム
US7392436B2 (en) * 2003-05-08 2008-06-24 Micron Technology, Inc. Program failure recovery
US7185222B2 (en) * 2003-11-14 2007-02-27 International Business Machines Corporation Apparatus, system, and method for maintaining data in a storage array
US20050132032A1 (en) * 2003-12-15 2005-06-16 Bertrand Daniel W. Autonomous agent-based system management
US7486623B2 (en) * 2004-05-13 2009-02-03 General Instrument Corporation Method and system for surveilling a telecommunications network link
US7827154B1 (en) * 2004-10-05 2010-11-02 Symantec Operating Corporation Application failure diagnosis
US20060107121A1 (en) * 2004-10-25 2006-05-18 International Business Machines Corporation Method of speeding up regression testing using prior known failures to filter current new failures when compared to known good results
US20060195731A1 (en) * 2005-02-17 2006-08-31 International Business Machines Corporation First failure data capture based on threshold violation
US7500142B1 (en) * 2005-12-20 2009-03-03 International Business Machines Corporation Preliminary classification of events to facilitate cause-based analysis
US20080126878A1 (en) * 2006-11-28 2008-05-29 International Business Machines Corporation Highlighting anomalies when displaying trace results
US20080222456A1 (en) * 2007-03-05 2008-09-11 Angela Richards Jones Method and System for Implementing Dependency Aware First Failure Data Capture
US8184546B2 (en) * 2008-02-29 2012-05-22 Avaya Inc. Endpoint device configured to permit user reporting of quality problems in a communication network
US8082275B2 (en) * 2008-05-20 2011-12-20 Bmc Software, Inc. Service model flight recorder
US8374745B2 (en) * 2008-09-05 2013-02-12 GM Global Technology Operations LLC Telematics-enabled aggregated vehicle diagnosis and prognosis
KR101210275B1 (ko) * 2008-12-22 2012-12-10 한국전자통신연구원 다계층 장비로 구성된 노드를 위한 통합 에이전트 장치 및 그의 장애 관리 방법
JP5000689B2 (ja) * 2009-08-07 2012-08-15 エステーミクロエレクトロニクス ソシエテ アノニム マイクロプロセッサのモニタ回路により伝送されるメッセージの時間的相関
US8407189B2 (en) * 2009-11-25 2013-03-26 International Business Machines Corporation Finding and fixing stability problems in personal computer systems
US8707111B2 (en) * 2011-02-09 2014-04-22 Ebay Inc. High-volume distributed script error handling
EP2602718A4 (en) * 2011-03-08 2015-06-10 Hitachi Ltd METHOD FOR MANAGING COMPUTER SYSTEM AND MANAGEMENT DEVICE
US8812916B2 (en) 2011-06-02 2014-08-19 International Business Machines Corporation Failure data management for a distributed computer system
WO2013016013A1 (en) * 2011-07-27 2013-01-31 Cleversafe, Inc. Generating dispersed storage network event records
US9122602B1 (en) 2011-08-31 2015-09-01 Amazon Technologies, Inc. Root cause detection service
US8930756B2 (en) 2011-12-22 2015-01-06 International Business Machines Corporation Grouping related errors in a distributed computing environment
GB2504728A (en) 2012-08-08 2014-02-12 Ibm Second failure data capture in co-operating multi-image systems
US9246935B2 (en) 2013-10-14 2016-01-26 Intuit Inc. Method and system for dynamic and comprehensive vulnerability management
US9313281B1 (en) 2013-11-13 2016-04-12 Intuit Inc. Method and system for creating and dynamically deploying resource specific discovery agents for determining the state of a cloud computing environment
US9501345B1 (en) * 2013-12-23 2016-11-22 Intuit Inc. Method and system for creating enriched log data
US9323926B2 (en) 2013-12-30 2016-04-26 Intuit Inc. Method and system for intrusion and extrusion detection
US9325726B2 (en) 2014-02-03 2016-04-26 Intuit Inc. Method and system for virtual asset assisted extrusion and intrusion detection in a cloud computing environment
US20150304343A1 (en) 2014-04-18 2015-10-22 Intuit Inc. Method and system for providing self-monitoring, self-reporting, and self-repairing virtual assets in a cloud computing environment
US9866581B2 (en) 2014-06-30 2018-01-09 Intuit Inc. Method and system for secure delivery of information to computing environments
US10757133B2 (en) 2014-02-21 2020-08-25 Intuit Inc. Method and system for creating and deploying virtual assets
US9276945B2 (en) 2014-04-07 2016-03-01 Intuit Inc. Method and system for providing security aware applications
US9245117B2 (en) 2014-03-31 2016-01-26 Intuit Inc. Method and system for comparing different versions of a cloud based application in a production environment using segregated backend systems
US11294700B2 (en) 2014-04-18 2022-04-05 Intuit Inc. Method and system for enabling self-monitoring virtual assets to correlate external events with characteristic patterns associated with the virtual assets
US9374389B2 (en) 2014-04-25 2016-06-21 Intuit Inc. Method and system for ensuring an application conforms with security and regulatory controls prior to deployment
US9319415B2 (en) 2014-04-30 2016-04-19 Intuit Inc. Method and system for providing reference architecture pattern-based permissions management
US9900322B2 (en) 2014-04-30 2018-02-20 Intuit Inc. Method and system for providing permissions management
US9330263B2 (en) 2014-05-27 2016-05-03 Intuit Inc. Method and apparatus for automating the building of threat models for the public cloud
US10102082B2 (en) 2014-07-31 2018-10-16 Intuit Inc. Method and system for providing automated self-healing virtual assets
US9473481B2 (en) 2014-07-31 2016-10-18 Intuit Inc. Method and system for providing a virtual asset perimeter
JP6340308B2 (ja) * 2014-12-05 2018-06-06 日本電信電話株式会社 並列処理システム、方法、およびプログラム
US9772898B2 (en) * 2015-09-11 2017-09-26 International Business Machines Corporation Identifying root causes of failures in a deployed distributed application using historical fine grained machine state data
JP6328595B2 (ja) * 2015-09-29 2018-05-23 東芝テック株式会社 情報処理装置及びプログラム
US10423475B2 (en) * 2016-09-30 2019-09-24 Microsoft Technology Licensing, Llc Stateful tokens for communicating with external services
US10768232B2 (en) * 2017-07-14 2020-09-08 International Business Machines Corporation ATE compatible high-efficient functional test
US10977113B2 (en) * 2019-01-29 2021-04-13 Dell Products L.P. System and method for fault identification, logging, and remediation
US11669386B1 (en) * 2019-10-08 2023-06-06 Pure Storage, Inc. Managing an application's resource stack
US11593191B2 (en) * 2021-07-13 2023-02-28 Dell Products L.P. Systems and methods for self-healing and/or failure analysis of information handling system storage
CN115396282B (zh) * 2022-07-20 2024-03-15 北京奇艺世纪科技有限公司 信息处理方法、系统及装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63240233A (ja) 1987-03-27 1988-10-05 Nec Eng Ltd パケツト網内ノ−ドヘルスチエツク方式
JPH04257142A (ja) 1991-02-08 1992-09-11 Nippon Telegr & Teleph Corp <Ntt> リングネットワークにおける故障ノード検査方法
US5684807A (en) 1991-04-02 1997-11-04 Carnegie Mellon University Adaptive distributed system and method for fault tolerance
JPH07239835A (ja) 1994-02-25 1995-09-12 Hitachi Ltd 並列計算機のネットワーク内データ転送制御方式
US5862322A (en) 1994-03-14 1999-01-19 Dun & Bradstreet Software Services, Inc. Method and apparatus for facilitating customer service communications in a computing environment
US5692120A (en) 1994-08-08 1997-11-25 International Business Machines Corporation Failure recovery apparatus and method for distributed processing shared resource control
JPH08249280A (ja) * 1994-10-28 1996-09-27 Internatl Business Mach Corp <Ibm> データ処理装置の電子キー
US5664093A (en) 1994-12-27 1997-09-02 General Electric Company System and method for managing faults in a distributed system
IL112513A (en) * 1995-02-01 1999-05-09 Ald Advanced Logistics Dev Ltd System and method for failure reporting and collection
US5550973A (en) 1995-03-15 1996-08-27 International Business Machines Corporation System and method for failure recovery in a shared resource system having a moving write lock
JP3200661B2 (ja) 1995-03-30 2001-08-20 富士通株式会社 クライアント/サーバシステム
US5765151A (en) 1995-08-17 1998-06-09 Sun Microsystems, Inc. System and method for file system fix-on-panic for a computer operating system
US5740354A (en) * 1995-11-27 1998-04-14 Microsoft Corporation Method and system for associating related errors in a computer system
US5949759A (en) 1995-12-20 1999-09-07 International Business Machines Corporation Fault correlation system and method in packet switching networks
US5908471A (en) 1997-01-31 1999-06-01 Sun Microsystems, Inc Diagnostic arrangement for digital computer system
US6175931B1 (en) 1997-01-31 2001-01-16 Hewlett-Packard Company Global hard error distribution using the SCI interconnect
US6170067B1 (en) * 1997-05-13 2001-01-02 Micron Technology, Inc. System for automatically reporting a system failure in a server
US6243838B1 (en) * 1997-05-13 2001-06-05 Micron Electronics, Inc. Method for automatically reporting a system failure in a server
US5995981A (en) 1997-06-16 1999-11-30 Telefonaktiebolaget Lm Ericsson Initialization of replicated data objects
US6243827B1 (en) * 1998-06-30 2001-06-05 Digi-Data Corporation Multiple-channel failure detection in raid systems

Also Published As

Publication number Publication date
GB2363488B (en) 2004-07-14
GB0025622D0 (en) 2000-12-06
JP2001188765A (ja) 2001-07-10
GB2363488A (en) 2001-12-19
US6651183B1 (en) 2003-11-18

Similar Documents

Publication Publication Date Title
JP4215384B2 (ja) 分散コンピューティング環境で複数の関係する障害を表す障害情報を参照する技法
US6892236B1 (en) System and method of generating computer system performance reports
US7856496B2 (en) Information gathering tool for systems administration
US7237243B2 (en) Multiple device management method and system
US6526442B1 (en) Programmable operational system for managing devices participating in a network
US6810364B2 (en) Automated testing of computer system components
US7698691B2 (en) Server application state
US6687748B1 (en) Network management system and method of operation
US20050015678A1 (en) System for automated problem detection, diagnosis, and resolution in a software driven system
US20080147789A1 (en) Intelligent knowledge management and content delivery system
US20080133978A1 (en) System and Method for Determining Fault Isolation in an Enterprise Computing System
US8756385B2 (en) Software configuration item back-up facility
US20030055809A1 (en) Methods, systems, and articles of manufacture for efficient log record access
JP4598065B2 (ja) 監視シミュレーション装置,方法およびそのプログラム
US20040186903A1 (en) Remote support of an IT infrastructure
US8224625B2 (en) Closed-loop diagnostic system
US20020194320A1 (en) Remote support system
JP3916232B2 (ja) ナレッジ型運用管理システム,方法およびプログラム
US20030103310A1 (en) Apparatus and method for network-based testing of cluster user interface
US7617462B2 (en) Graphical user interface (GUI) for displaying software component availability as determined by a messaging infrastructure
JP5063599B2 (ja) ログ管理オブジェクトを利用した装置管理システム、並びに当該システムにおけるロギングデータの生成及び制御方法
US20030126307A1 (en) Method and system for event management
US7739420B2 (en) Communication error information output method, communication error information output device and recording medium therefor
JP2000047912A (ja) ネットワークサービス監視方法および装置とネットワークサービス監視プログラムを記録した記録媒体
JP2007164494A (ja) 情報出力方法、システム及びプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040629

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040927

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040930

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041227

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050802

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051129

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20051212

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20060127

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20071112

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20071112

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080917

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20081014

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4215384

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20111114

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111114

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121114

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121114

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131114

Year of fee payment: 5

EXPY Cancellation because of completion of term