JP2014532913A - 診断歴に基づく不具合検出方法 - Google Patents

診断歴に基づく不具合検出方法 Download PDF

Info

Publication number
JP2014532913A
JP2014532913A JP2014537753A JP2014537753A JP2014532913A JP 2014532913 A JP2014532913 A JP 2014532913A JP 2014537753 A JP2014537753 A JP 2014537753A JP 2014537753 A JP2014537753 A JP 2014537753A JP 2014532913 A JP2014532913 A JP 2014532913A
Authority
JP
Japan
Prior art keywords
components
combination
diagnostic history
history
test
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.)
Pending
Application number
JP2014537753A
Other languages
English (en)
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 JP2014532913A publication Critical patent/JP2014532913A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

【課題】システム中の不具合を検出するためのシステムおよび方法を提供する。【解決手段】本方法は、一つ以上のシステム・コンポーネントに対する診断歴を維持するステップと、システム・コンポーネント間の動作状態および相関相互作用についてのシステム情報を受信するステップと、診断歴の分析を行うのに応じて、一つ以上のシステム・コンポーネントを検査すべきかどうかを判定するステップと、を含み、該分析は、診断歴が、特定のシステム・コンポーネントまたはコンポーネントの組み合わせがシステム中で検出された問題をもたらした疑いがあることを示し得る、何らかの情報を含んでいるかどうかを判定するために行われ、該診断歴は、前記一つ以上のコンポーネントが、問題が検出されたシステム以外のシステムに搭載されたときに、前記一つ以上のコンポーネントに対し行われた少なくとも一つの検査に基づいて維持される。【選択図】図2

Description

著作権および商標表示
本特許明細書の開示の一部は著作権保護の下にある題材を含み得る。所有者は、米国特許商標庁の特許出願ファイルまたは記録に掲載されている、本特許明細書または特許開示のいずれによる転写についても異議を唱えないが、それ以外のものはどのようなものに対しても全著作権を留保する。
本明細書で参照されるいくつかの商標は、その出願人、譲受人あるいは出願人または譲受人と提携しているまたは非提携の第三者のコモン・ロー商標または登録商標であり得る。これらの商標の使用は、事例として本開示の補強を提供するためのものであって、開示された主題の範囲を、かかる商標に関連する題材に排他的に限定すると解釈してはならない。
技術分野
本開示の主題は、一般にシステム中の不具合を判定することに関し、さらに具体的には、同じまたは類似のシステム・コンポーネントの診断歴の分析に基づいて、システム中の不具合を効率的に判定するためのシステムおよび方法に関する。
数多くのコンポーネントを有する複雑なシステムでは、個別にモニタまたはテストしたときにほとんどのシステム・コンポーネントに不具合または異常な動作が見られない場合にあっても、そのシステムが全体としてパフォーマンスの劣化を被ることがある。特に大規模なコンピューティング環境では、前述の問題を解決するのが非常に困難且つ高コスト、または事実上実行不可能であり得る。
例えば、オンライン・サービス・プロバイダが、異なる型のストレージ・サーバと通信している各種のサーバを含み、これらストレージ・サーバが同様に多くのストレージ・スイッチ、コントローラなどと相互作用しているインフラストラクチャを有することがある。個々のコンポーネントは正常に見えるが、システム全体としてうまく機能していない場合、複数のコンポーネントの間の相互作用を徹底的にテストする必要があることがある。
一つ以上のコンポーネントの供給者が、コンポーネントが顧客のシステムに搭載される前に、特定のシステム・コンポーネント間の相互作用を前もってテストしていることがある。例えば、新規サーバを発売する前に、サーバの供給者が、各種のインターフェース・カード、ネットワーク・スイッチ、ストレージ・デバイス、他のサーバなどを備えた環境で、当該サーバの動作をテストしていることがある。
顧客が、顧客の環境に組み込まれたコンポーネントの一つに関し問題を有する場合、たとえその顧客の環境が供給者の環境と完全に一致していなくても、供給者のテスト記録にアクセスできるということは有益であろう。供給者のテスト記録は、顧客の環境における問題を診断するのに用いることが可能な情報を含み得る。
要約のため、いくつかの態様、利点、および新規な特徴を本明細書に記述している。いずれか一つの特定の実施形態によって、かかる利点の全てが達成できるわけではない。しかして、本開示の主題は、本明細書で教示または示唆することのあるように、全ての利点は実現はしないが、一つの利点またはいくつかの利点を実現または最適化するような形で具現化または遂行することができる。
一つの実施形態によれば、システム中の不具合を検出する方法は、一つ以上のシステム・コンポーネントに対する診断歴を維持するステップと、システム・コンポーネント間の動作状態および相関相互作用についてのシステム情報を受信するステップと、診断歴の分析を行うのに応じて、一つ以上のシステム・コンポーネントを検査すべきかどうかを判定するステップと、を含み、該分析は、診断歴が、特定のシステム・コンポーネントまたはコンポーネントの組み合わせがシステム中で検出された問題をもたらした疑いがあることを示し得る、何らかの情報を含んでいるかどうかを判定するために行われ、該診断歴は、前記一つ以上のコンポーネントが、問題が検出されたシステム以外のシステムに搭載されたときに、前記一つ以上のコンポーネントに対し行われた少なくとも一つの検査に基づいて維持される。
一つ以上の実施形態によって、一つ以上の論理ユニットを含むシステムが提供される。一つ以上の論理ユニットは、上記で開示された方法に関連付けられた機能またはオペレーションを実行するよう構成される。さらに別の実施形態において、コンピュータ可読プログラムを有するコンピュータ可読ストレージ媒体を含むコンピュータ・プログラム製品が提供される。コンピュータ可読プログラムは、コンピュータ上で実行されたとき、そのコンピュータに、上で開示された方法に関連付けられた機能またはオペレーションを実行させる。一つの実施形態において、上記で開示された方法によって実行される機能およびオペレーションに関連して、ネットワークを介して顧客にサービスを提供する方法が提供される。
上で開示された実施形態の一つ以上に特定の代替手段を加え、添付図面を参照しながら、以下にさらに詳細に提示する。但し、本開示の主題は、開示されたどの特定の実施形態にも限定されるものではない。
以下に提示する本開示の実施形態は、添付の図面中の図を参照することによってよりよく理解することができよう。
一つ以上の実施形態による、2つの別個のコンピューティング・システム上に同じまたは類似のコンポーネントが展開されている、例示的なオペレーティング環境を示す。 一つの実施形態による、あるシステム中の不具合に対する予測診断を提供する方法の例示的なフロー図である。 一つ以上の実施形態による、本開示のシステムおよび方法が動作可能なハードウェア環境のブロック図である。 一つ以上の実施形態による、本開示のシステムおよび方法が動作可能なソフトウェア環境のブロック図である。
一つ以上の実施形態によって、異なる図中において同一の番号で参照された機能、エレメント、および態様は、同一、等価、または類似の機能、エレメント、および態様を表す。
以下において、さまざまな実施形態の徹底した説明を提供するため、多くの具体的な詳細が述べられる。ある特定の実施形態は、これらの具体的な詳細なくして、あるいは詳細の何らかのバリエーションを使って実践することができる。場合によって、他の態様を不明瞭にしないように、ある機能についてはさほど詳細には説明しない。エレメントまたは機能に関する詳細さのレベルが、一つの機能に他を凌駕する新規性または重要性を付与すると解釈すべきではない。
図1を参照すると、例示的なオペレーティング環境が示され、その中では、同じまたは類似のコンポーネント(例えば、A1、A2、B1、C1、D2)が2つの別個のコンピューティング・システム(例えば、コンピューティング・システム110および120)上に展開されている。図示のように、各システム中のコンポーネントは、例えばネットワーク130を介して、共用のストレージ・デバイス140と通信している。これらコンポーネントは、動作可能なハードウェアまたはソフトウェア・コンポーネントであり得る。一つの例示的なシナリオにおいて、コンポーネントA1はA2にアップグレード可能なものとすることができる。
図2を参照すると、一つの実施形態により、システム・コンポーネントおよび前記コンポーネント間の相互作用についての知識を用いて、各種コンポーネントおよび各種コンポーネント間の関係についての情報を含むデータベースを構築することが可能である。(例えば、スケジュールされたメンテナンスの一部として、またはシステム中の不具合に起因して)システムがテストされたとき、テストされたシステム全体に対する、あるいはその一つ以上のコンポーネントに対する診断歴が維持される(S210)。
ある実施形態において、一つ以上のシステム・コンポーネントに行われるテストが、異なった施設で、あるいはそれらコンポーネントが現在の環境と違ったコンピューティング環境に組み込まれたときに行われていることがある。かかる状況の一例として、あるコンポーネントが、現在のコンピューティング環境(例えば、コンピューティング・システム110)ではなく、以前に、第一コンピューティング環境(例えば、一つ以上のコンピューティング・システム120)においてコンポーネント製造者によってテストされている場合がある。かかる場合において、前記コンポーネントが第一環境で特定の他のコンポーネントと組み合わせされてテストされたかどうか示すテスト記録が利用可能であり得る。
この診断歴は、第一環境または現在の環境中のシステム、および第一環境または現在の環境に含まれる個別のコンポーネントの状態についての情報を含み得る。さらに、メンテナンスまたはテストが行われたときのコンポーネントの組み合わせの間の相互動作関係も記録されていてよい。第一環境でテストが行われたとき不具合が検出されていれば、診断歴には、その不具合の理由、原因となったコンポーネント群、および関与するコンポーネント間の関係が反映されていてよい。検出された不具合またはシステムの問題が解決されていれば、診断歴には、同様に検出された問題に対する解決法およびその根拠も反映されていてよい。
図1を参照すると、コンピューティング・システム120は、テスト環境中にあり得て、コンポーネントA2は、ネットワーク130中のいくつかの他のコンポーネント(例えば、B1、C1、D2および共用のストレージ・デバイス140)に対しテストされた。さまざまなコンポーネントまたはコンポーネントの組み合わせに対するテスト記録を収集し、コンピューティング・システム120に対する診断歴に含めることができる。診断歴には、コンポーネントA2が、コンポーネントB1、C1、およびD2と組み合わされてテストされたとき、一つ以上のテストに合格したことを示すことができる。診断歴には、上記のコンポーネントの組み合わせ群を一緒にテストした際に何らかの問題が観察されたことをさらに示すことも可能である。実装にもよるが、診断歴には、問題の源泉または原因に関し何も述べなくても、あるいはその詳細を述べてもよい。
図1において、コンピューティング・システム110は別の環境を表しており、その中では、コンポーネントA1が、ネットワーク130中の他のコンポーネントB1、C1、D2、および共用ストレージ・デバイス140と相互作用している。コンピューティング・システム110と120とは、同一、同等、または置き換え可能なサーバ・マシンとすることができる。コンポーネントA1はコンピューティング・システム110と相互作用し、コンポーネントA2はコンピューティング・システム120と相互作用している。コンピューティング・システム120におけるテスト環境に対する診断歴には、コンポーネントA1がコンポーネントA2にアップグレードされたとき、共用ストレージ・デバイス140に提出されたストレージ要求の処理が容認可能な閾値を超えて遅延したなどといった、システム・パフォーマンスが劣化したことを反映した詳細事項を含めることができる。
いくつかの実施形態において、診断歴には、ストレージ・パフォーマンスの劣化が、例えば、コンポーネントA2の機能的性質と共用ストレージ・デバイス140の作動上の完全さとは無関係だと考えられていたにもかかわらず、アップグレードされたコンポーネントA2の搭載後にシステム・コンポーネントに(例えば、コンピューティング・システム120に)追加のメモリを加えたとき解決されたことをさらに示すことができよう。同様に、さらなる問題が生じるのに応じ、他のコンポーネントまたはコンポーネントの組み合わせに対する他の診断情報を維持することができる。
図1および図2を参照すると、コンピューティング・システム110はパフォーマンス問題を被ることがあり、だが、どの特定のシステム・コンポーネントが異常なのかを示す情報が容易に得られないことがある。かかる状況において、以前にテストされた一つ以上のコンポーネントに対する診断歴はトラブルシューティングにために役立つであろう。実装によっては、診断歴には、以前のテスト環境(例えば、コンピューティング・システム120)もしくは現在の環境(例えばコンピューティング・システム110)またはその両方においてコンポーネントまたはコンポーネントの組み合わせに適用されたテストに対し収集された情報を含めることができる。
一つの実施形態において、診断歴に記録されている情報が有用かどうかを判断するために、コンピューティング・システム110中のコンポーネントおよび前記コンポーネント間の関連イベントについてのデータを、記録された診断歴にアクセス可能な分析ツール(図示せず)に入力することができる(S220)。さらに、この入力情報には、コンピューティング・システム110またはそのコンポーネントの状態の情報、コンピューティング・システム110に搭載されたコンポーネントの型、種類、またはバージョンについての詳細、あるいは、分析ツールにとって有用となり得る他の任意の情報を含めることも可能である。
前述の例を続けて、コンピューティング・システム110において、コンポーネントA1がコンポーネントA2にアップデートされたと仮定しよう。しかして、コンポーネントB1、C1、およびD2がコンピューティング・システム110に搭載されていることの提示に加え、この情報の分析ツールへの入力によって、コンピューティング・システム110上にコンポーネントA1のアップデート・バージョン(すなわち、コンポーネントA2)が現在搭載されていることが提示されることになる。かくして、分析ツールが、この入力情報に基づいて、下でさらに詳細に示すように、コンピューティング・システム110に対するモデルを生成することが可能になり得る。
実装によっては、分析ツールは、記録された診断歴のデータを用いて該モデルを分析し、コンピューティング・システム110に現在含まれているコンポーネントとコンピューティング・システム120のコンポーネントとの間にマッチが見られるかどうかを判定することができる。分析ツールは、どのコンポーネントまたはコンポーネントの組み合わせがテストされているかを診断歴からさらに判定することができる(S230)。一つの実施形態において、このテストが、コンポーネントのn−wiseの組み合わせを分析することによって行われていたことがあり得る。
図2を参照すると、分析ツールが、診断歴から、コンピューティング・システム110中の特定のシステム・コンポーネントまたはコンポーネントの組み合わせが過去にテストされていなかったと判定した場合は、予測診断が生成される(S240)。この予測診断は、提案されるコンポーネントまたはコンポーネントの組み合わせのリストの形を取り、該リストは、テストされている特定のコンポーネントもしくはコンポーネントの組み合わせ、またはテストされていない特定のコンポーネントもしくはコンポーネントの組み合わせ、あるいはその両方を示す。言い換えれば、予測診断は、技術者またはシステム管理者を、システムに関連する問題を検出するのによりつながるようなコンポーネントの組み合わせのテストを検討する方向に向かわせるものである。
上記の例示的なシナリオにおいて、分析ツールは、以前に(例えば、コンピューティング・システム120に搭載されたコンポーネントに対しテストが行われた際に)コンポーネントの一つ以上の組み合わせがテストされたことを見出すことが可能である。このように、分析ツールはテスト済みの組み合わせを示すリストを生成することができ、技術者は、コンポーネントの前記組み合わせが以前にテストに合格しているので、この組み合わせが問題を引き起こした可能性は極めて低いと判定することが可能になる。これに加えてまたはこれに換えて、分析ツールは、テスト済みの組み合わせを除いた新規組み合わせのリストを生成し、技術者に、代わりに一連の未テストの組み合わせをテストすることに集中するよう提案することができる。
また、いくつかの実施形態において、診断歴は、アップグレードされたコンポーネントA2が、コンピューティング・システム120で一つ以上のコンポーネントと組み合わせされてテストされたとき、共用ストレージ・デバイス140とコンポーネントA2とが相互作用した際に検出された問題の源泉であったことを示すことができる。生成された予測診断は、例えば、コンピューティング・システム110とアップグレード・コンポーネントA2との間の相互作用に疑いがあり、それをテストすべきであるといった指摘を提示することも可能である。
さらにまだ、実施が必要となり得る一連の処置についての提案を提供することができる(例えば、分析ツールは、コンピューティング・システム120にメモリのアップグレードが適用された際に同様な問題が是正されたので、コンピューティング・システム110でも同じ処置を取ることを提案することが可能である)。診断歴がうまく発展されれば、分析ツールは、各種のソリューションを提案することでき、あるいは、さらなるコンポーネントまたはコンポーネントの組み合わせに疑いがあり得、従ってテストが必要となり得ることをさらに指摘することができる。実装によっては、生成されたリストを、特定の提案(例えば、コンポーネントの組み合わせ)がリスト中で多かれ少なかれ目立って記載されるようにするなど論理的な順序にソートすることが可能である。
分析ツールは、テストされているシステム中のあるコンポーネントが、診断歴中の以前にテスト済みのコンポーネントと同等、置き換え可能、または類似であることを認識するよう構成することができる。例えば、図1のコンピューティング・システム110を参照し、A1がまだA2にアップグレードされていないと仮定してみよう。この場合、分析ツールは、A1がA2と置き換え可能、同等、または類似であると判定することができよう。診断歴が、例えば、{A2,B1}、{A2,C1}、{A2,D2}、{D2,C1}および{B1,C1}を含むコンポーネントの組み合わせが、コンピューティング・システム120で以前にテストされていたことを示している場合、分析ツールは、コンピューティング・システム110中の問題検出を試みる際に、{A1,B1}、{A1,C1}、{A1,D2}の組み合わせを除外するか、その順位付けを下げることが可能である。
さらに、診断歴が、A2またはC1と他のコンポーネントとのほとんどの組み合わせが以前のテストに合格していることを示唆している場合、分析ツールは、B1またはD2と他のコンポーネントとの組み合わせに向けられたテストを提案することがでよう。一つの実施形態において、適切な機能性の履歴を有することが診断歴に反映されているコンポーネントまたはコンポーネントの組み合わせ、あるいは前記コンポーネントと置き換え可能なコンポーネントは、スキップするかあるいは優先順位を下げ、もっと問題のあるコンポーネントまたは組み合わせを最初に検討するようにすることができる。同じ論理によって、問題のある履歴を有するコンポーネントまたは組み合わせは、より高順位の位置付け、色づけ、または表現方法でリストし、それらをより早期に検討し、見極め、またはテストすることができよう。
このように、診断歴の存在するコンポーネントまたはコンポーネントの組み合わせに対して、技術者は、システムに関連する問題を解決するために、関係する履歴を使って、どのようなテストまたは検査を行う必要があるかを判定することが可能である。問題のある診断歴を有するかまたは診断歴の欠如したコンポーネントまたはコンポーネントの組み合わせに対して、技術者は、まず、そういったコンポーネントを試験または検査するために時間を使うことができる。また、前述と同様に、技術者は診断歴を用いて、過去に問題があったことが判明したコンポーネントまたは組み合わせと類似のコンポーネント、または同じカテゴリ内のコンポーネントをテストすることもできよう。
一つの実施形態において、ローカルのサイトまたは単独のシステムで収集された診断歴は、同じまたは類似のアーキテクチャまたはコンポーネント相互作用を有し得る、他のサイトから集められた診断歴と併せてプールすることが可能である。これらプールされたデータを用いて、例えば、共有診断歴を含む統合(例えば、グローバルな)データベースを生成することができ、これは、参加するシステムによって、例えば、新しい問題、新しい解決策、新しい予測診断、またはシステム・コンポーネント間の新しい関連性および相互動作が発見された際に提供されるフィードバックに基づいて成長を続けることが可能である。
また、守秘条件および規準を順守しながら、このデータベースをマイニングし、サービス・プロバイダまたは顧客に対しプロフィールを提供することができる。このプロフィールは、例えば、顧客に有用または有益となり得る新規のサービスまたは製品を提供し、あるいは関連する解決策またはシステム・アップグレードについてのアップデートを送信するなど、さまざまな目的のために用いることが可能である。また、このプロフィール情報は、目的の自動アップデート、宣伝提供、その他など、他の有益なサービスを提供するために活用することができる。
前述のような診断ツールまたはサービスの使用は、システム・レベルの問題を検出するためハードウェアを取り扱う平均コストを低減するので、システム・インテグレータには有益である。また、前述のようなサービスの提供は、システム・インテグレータに対して製品をより魅力のあるものにするので、これらのサービスはコンポーネント供給者にも有益である。さらに、供給者は、上記のサービスを提供することによって、集合された診断歴を用い顧客の構成およびテスト・スイートついて知ることができる。顧客の構成についての知識は、マーケティングおよびプラニングのために貴重である。
一つの実施形態において、収集された情報を活用し、顧客の要求をより良く満たすため、顧客の構成またはテスト・モデルをどのように発展または調整するかを判断することができる。一つの実施形態では、サービス申し込みまたは契約によって前述の診断ツールまたはサービスを提供することが可能で、顧客のシステム構成および随意的に顧客のシステムに関連する問題の種類が、ネットワークを介してサービス・プロバイダに連絡され、これに応じ、サービス・プロバイダが、顧客のシステムをどのように最善にテストまたは診断するかを提案して応答する。
本明細書書において、「ある実施形態」、「一つの実施形態」、「一つ以上の実施形態」などへの言及は、述べられている特定のエレメント、機能、構造体、または特性が、本開示の主題の少なくとも一つの実施形態に含まれることを意味する。本明細書におけるかかる表現の出現は、同一の実施形態に言及していると特定的に解釈すべきでなく、かかる表現が、説明対象の機能またはエレメントに関して、相互に排他的な実施形態に言及していると解釈すべきでもない。
種々の実施形態において、請求対象の主題は、ハードウェアおよびソフトウェア両方の組み合わせとして、あるいは全体がハードウェアの形態または全体がソフトウェアの形態で実装することができる。さらに、本明細書で開示されたコンピューティング・システムおよびプログラム・ソフトウェアは、本明細書で意図された結果を達成する方法およびプロセスを実施するため実行されるハードウェア・コンポーネントおよび論理コードに関連して提供され得る、制御されたコンピューティング環境を構成することができる。前記方法およびプロセスは、汎用コンピューティング・システムまたはマシンで実行されたとき、該汎用マシンを特定用途のマシンに転換する。
図3および図4を参照すると、ある例示的な実施形態によるコンピューティング・システム環境は、ハードウェア環境1110およびソフトウェア環境1120で構成することができる。ハードウェア環境1110には、ソフトウェア環境1120のコンポーネントに対し実行環境を提供する、論理ユニット、回路、または他の機構および装置を含めることができる。同様に、ソフトウェア環境1120は、ハードウェア環境1110のさまざまなコンポーネントに対し、基底となるオペレーション設定および構成を含む、実行命令を提供することができる。
図3を参照すると、本明細書で開示されたアプリケーション・ソフトウェアおよび論理コードは、例示的なハードウェア環境1110によって代表される一つ以上のコンピューティング・システム上で実行されるマシン可読コードの形で実装することが可能である。図示のように、ハードウェア環境1110には、システム・バス1100を介して一つ以上のストレージ・エレメントに連結されたプロセッサ1101を含めることができる。これらのストレージ・エレメントは、例えば、ローカル・メモリ1102、ストレージ媒体1106、キャッシュ・メモリ1104、あるいは他のマシン可用またはコンピュータ可読の媒体を含み得る。本開示の文脈の中で、マシン可用またはコンピュータ可読のストレージ媒体は、プログラム・コードを包含、格納、通信、伝播、または転送するため使用可能な任意の記録可能な品目を含み得る。
コンピュータ可読ストレージ媒体は、電子的、磁気的、光学的、電磁気的、赤外的、または半導体の、媒体、システム、装置、またはデバイスとすることができる。また、コンピュータ可読ストレージ媒体は、その実装が合法的な対象と見なされる程度において、制限なく伝播媒体に実装することも可能である。コンピュータ可読ストレージ媒体の例には、半導体または固体メモリ、磁気テープ、リムーバブル・コンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read−only memory)、剛体磁気ディスク、光ディスク、または適切な場合、搬送波を含めることができる。光ディスクの現在の例には、コンパクト・ディスク、読み取り専用メモリ(CD−ROM:compact disc read−only memory)、読み取り/書き込みコンパクト・ディスク(CD−R/W:compact disk read/write)、デジタル・ビデオ・ディスク(DVD:digital video disk)、高精細ビデオ・ディスク(HD−DVD:high definition videodisk)またはブルーレイ(R)ディスクが含まれる。
一つの実施形態において、プロセッサ1101は、ストレージ媒体1106からローカル・メモリ1102に実行コードをロードする。キャッシュ・メモリ1104は、実行のためコードがロードされる回数を低減するのを助ける一時的なストレージを提供することによって処理時間を最適化する。一つ以上のユーザ・インタフェース・デバイス1105(例えば、キーボード、ポインティング・デバイスなど)およびディスプレイ画面1107は、直接、もしくは、例えば介在するI/Oコントローラ1103を介して、ハードウェア環境1110中の他のエレメントに連結することができる。ハードウェア環境1110が、介在するプライベートまたはパブリック・ネットワーク(例えばインターネット)を介して、ローカルにまたは遠隔に所在するコンピューティング・システム、プリンタ、およびストレージ・デバイスと通信することを可能にするため、ネットワーク・アダプタなどの通信インターフェース・ユニット1108を設けることができる。有線または無線モデムおよびイーサネット(R)カードは、ネットワーク・アダプタの種類のほんの数例である。
なお、特定の実装において、ハードウェア環境1110は、上記のコンポーネントの一部または全部を含まなくてもよく、または追加の機能または効用を設けるための追加のコンポーネントを含んでもよい。意図された用途及び構成に応じて、ハードウェア環境1110は、デスクトップまたはラップトップ・コンピュータなどのマシン、もしくは、セットトップ・ボックス、携帯情報端末(PDA:personal digital assistant)、パーソナル・メディア・プレイヤ、移動通信ユニット(例えば、携帯電話)、あるいは情報処理またはデータ・ストレージ機能を有する他の類似のハードウェア・プラットフォームなど、内蔵されたシステム中に随意的に具現化された他のコンピューティング・デバイスであり得る。
いくつかの実施形態において、通信インターフェース1108は、プログラム・コードを含めさまざまな種類の情報を表すアナログまたはデジタル・データ・ストリームを搬送する、デジタル、電子、電磁、または光信号を送信および受信することによって、一つ以上のコンピューティング・システムとの通信手段を提供するデータ通信ポートの機能を果たす。この通信は、ローカルまたは遠隔ネットワーク経由で、あるいは、以下に限らないが搬送波による伝播を含めて、エアまたは他の媒体を介する送信を通して成立させることができる。
本明細書での提示において、図示のハードウェア・エレメント上で実行される、本開示のソフトウェア・エレメントは、例示目的の論理的または機能的関係によって定義されている。但し、前記例示的なソフトウェア・エレメントを通して実装された各方法は、例えば、構成されプログラムされたプロセッサ、特定用途向け集積回路(ASIC:application specific integrated circuit)、フィールド・プログラマブル・ゲート・アレイ(FPGA:field programmable gate array)およびデジタル信号プロセッサ(DSP:digital signal processor)を使って、前記ハードウェア・エレメント中にエンコードすることも可能なことに留意すべきである。
図4を参照すると、ソフトウェア環境1120は、一般に、一つ以上のハードウェア環境1110上で実行される、システム・ソフトウェア1121およびアプリケーション・ソフトウェア1122の2つの分類に分けることが可能である。一つの実施形態において、本明細書で開示する方法およびプロセスは、システム・ソフトウェア1121、アプリケーション・ソフトウェア1122、またそれらの組み合わせとして実装することができる。システム・ソフトウェア1121には、オペレーティング・システム(OS:operating system)または情報管理システムなどの制御プログラムを含めることができ、これらは、ハードウェア環境1110中の一つ以上のプロセッサ1101(例えば、マイクロコントローラ)にどのように機能し情報を処理するかを命令する。アプリケーション・ソフトウェア1122は、以下に限らないが、プログラム・コード、データ構造体、ファームウェア、常駐ソフトウェア、マイクロコード、または、プロセッサ1101によって読み取り、分析、または実行が可能な任意の他の形の情報またはルーティンを含み得る。
言い換えれば、アプリケーション・ソフトウェア1122は、マシン、コンピュータ、または任意の命令実行システムが使用するためのまたはこれらに関連するプログラム・コードを提供する、マシン可用またはコンピュータ可読ストレージ媒体の形で、コンピュータ・プログラム製品に組み込まれたプログラム・コードとして実装することができる。さらに、アプリケーション・ソフトウェア1122は、ストレージ媒体1106からローカル・メモリ1102の中にロードされた後、システム・ソフトウェア1121上で実行される一つ以上のコンピュータ・プログラムを含み得る。クライアント−サーバ・アーキテクチャにおいて、アプリケーション・ソフトウェア1122には、クライアント・ソフトウェアおよびサーバ・ソフトウェアを含めることが可能である。例えば、一つの実施形態において、クライアント・ソフトウェアは、サーバ・コンピューティング・システムとは異なった別個のクライアント・コンピューティング・システム上で実行することができ、サーバ・コンピューティング・システム上ではサーバ・ソフトウェアが実行される。
また、ソフトウェア環境1120には、ローカルまたは遠隔のコンピューティング・ネットワークを介して利用可能なデータにアクセスするための、ブラウザ・ソフトウェア1126を含めることが可能である。さらに、ソフトウェア環境1120には、ユーザのコマンドおよびデータを受信するためのユーザ・インタフェース1124(例えば、グラフィカル・ユーザ・インタフェース(GUI:graphical user interface)を含めることができる。なお、繰り返すが、上記のハードウェアおよびソフトウェアのアーキテクチャおよび環境は、例示を目的としたものである。しかして、一つ以上の実施形態は、任意の種類のシステム・アーキテクチャ、機能的または論理的プラットフォーム、またはプロセシング環境上に実装することが可能である。
また、論理コード、プログラム、モジュール、プロセス、方法、および各方法のそれぞれのプロセスが実施される順序も単に例示的なものであることを理解すべきである。実装によっては、プロセスまたはいずれかの下層サブプロセス、および方法は、本開示に別途に示されているのでなければ、任意の順序でまたは同時に実施することが可能である。さらに、特段の記載がない限り、本開示の文脈内での論理コードの定義は、いかなる特定のプログラミング言語に関連付けも限定もされず、分散型、非分散型、単一または多重処理環境において一つ以上のプロセッサによって実行可能な一つ以上のモジュールを含み得る。
当業者には当然のことながら、ソフトウェア実施形態は、ファームウェア、常駐ソフトウェア、マイクロコードなどを含み得る。ソフトウェアまたはハードウェアあるいはソフトウェアとハードウェアとを組み合わせた態様を含む特定のコンポーネントは、本明細書では一般に「回路」、「モジュール」、または「システム」と呼ばれる。さらに、本開示の主題は、コンピュータ可読プログラム・コードが中に具現化されている一つ以上のコンピュータ可読ストレージ媒体(群)中に具体化されたコンピュータ・プログラム製品として実装することが可能である。一つ以上のコンピュータ可読ストレージ媒体(群)の任意の組み合わせを用いることができる。コンピュータ可読ストレージ媒体は、コンピュータ可読信号媒体、またはコンピュータ可読ストレージ媒体であり得る。コンピュータ可読ストレージ媒体は、例えば、以下に限らないが、電子的、磁気的、光学的、電磁気的、赤外的、または半導体の、システム、装置、もしくはデバイス、あるいはこれらの任意の適切な組み合わせとすることができる。
本文書の文脈において、コンピュータ可読ストレージ媒体は、命令実行システム、装置、またはデバイスによってあるいはこれらに関連させて使用するためのプログラムを、包含または格納できる任意の有形媒体であり得る。コンピュータ可読信号媒体には、例えばベースバンド中にまたは搬送波の一部として具現化されたコンピュータ可読プログラム・コードを有する、伝播データ信号を含めることができる。かかる伝播信号は、以下に限らないが、電磁気的、光学的、またはこれらの任意の適切な組み合わせを含め、さまざまな形態の任意の形を取ることができる。コンピュータ可読信号媒体は、コンピュータ可読ストレージ媒体ではないが、命令実行システム、装置、またはデバイスによってまたはこれらに関連させて使用するためのプログラムを通信、伝播、または伝送が可能な任意のコンピュータ可読媒体であり得る。
コンピュータ可読ストレージ媒体上に具現化されたプログラム・コードは、以下に限らないが、無線、有線、光ファイバ・ケーブル、RFなど、または前述の任意の適した組み合わせを含め、任意の適切な媒体を用いて送信することができる。開示されたオペレーションを実行するためのコンピュータ・プログラム・コードは、Java(R)、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語、および、“C”プログラミング言語または類似のプログラミング言語などの従来式手続き型プログラミング言語を含め、一つ以上のプログラミング言語の任意の組み合わせで記述することができる。
このプログラム・コードは、スタンドアロン・ソフトウェア・パッケージとしてユーザのコンピュータで専ら実行することも、ユーザのコンピュータで部分的に実行することもでき、一部をユーザのコンピュータで一部を遠隔コンピュータで実行することもでき、あるいは遠隔のコンピュータまたはサーバで専ら実行することもできる。後者の場合は、ローカル・エリア・ネットワーク(LAN:local area network)または広域ネットワーク(WAN:widearea network)を含む任意の種類のネットワークを介して、遠隔コンピュータをユーザのコンピュータに接続することもでき、あるいは(例えばインターネット・サービス・プロバイダを使いインターネットを介し)外部のコンピュータへの接続を行うこともできる。
特定の実施形態は、実施形態による方法、装置(システム)およびコンピュータ・プログラム製品のフローチャート図またはブロック図を参照しながら、開示されている。当然のことながら、フローチャート図またはブロック図の各ブロック、および、フローチャート図もしくはブロック図またはその両方中のブロックの組み合わせは、コンピュータ・プログラム命令によって実装することが可能である。これらのコンピュータ・プログラム命令を、汎用コンピュータ、特殊用途コンピュータ、またはマシンを形成する他のプログラム可能データ処理装置のプロセッサに提供し、そのコンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行されるこれらの命令が、フローチャートまたはブロック図のブロックまたはブロック群中に特定されている機能または動作を実装するための手段を生成するようにすることができる。
また、これらのコンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスに対し特定の仕方で機能するよう命令することができるコンピュータ可読ストレージ媒体に格納し、そのコンピュータ可読ストレージ媒体に格納された命令が、フローチャートまたはブロック図のブロックまたはブロック群中に特定されている機能または動作を実装する命令を包含する製造品を作り出せるようにすることができる。
さらに、コンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードし、そのコンピュータ上、他のプログラム可能装置上、または他のデバイス上で一連のオペレーション・ステップを実行させて、コンピュータまたはマシン実装のプロセスを作り出し、当該コンピュータ上または他のプログラム可能装置上で実行される命令が、フローチャートまたはブロック図のブロックまたはブロック群中に特定されている機能または動作を実装するためのプロセスを提供するようにすることも可能である。
図中のフローチャートおよびブロック図は、さまざまな実施形態による、システム、方法、およびコンピュータ・プログラム製品のあり得る実装のアーキテクチャ、機能、およびオペレーションを例示している。この点に関し、フローチャートまたはブロック図中の各ブロックは、特定された論理機能を実装するための一つ以上の実行可能命令を含む、モジュール、セグメント、またはコードの部分を表し得る。また、一部の別の実装においては、ブロック中に記載された機能が、任意の順序または図面に記載された順序を外れて行われ得ることに留意すべきである。
例えば、連続して示された2つのブロックが、関与する機能によっては、実際にはほぼ同時に実行されることがあり、時にはこれらのブロックが逆の順序で実行されることもあり得る。さらに、ブロック図またはフローチャート図の各ブロック、およびブロック図またはフローチャート図中のブロック群の組み合わせは、特定の機能または動作を実施する特殊用途ハードウェア・ベースのシステム、または特殊用途ハードウェアとコンピュータ命令との組み合わせによって実装可能なことにも留意すべきである。
本明細書において、一つ以上の特徴または実施形態を参照しながら、請求対象の主題を提示してきた。当業者は、例示的な実施形態の詳細な性質に関わらずに、全体として意図された範囲を限定したりまたはこれから逸脱したりすることなく、前記実施形態に変更および修改を加えることが可能なことを認識しよく理解しているであろう。本明細書で提示した実施形態のこれらさまざまな他の改作および組み合わせは、請求項により定義された本開示の主題およびこれらの一連の等価物の範囲内にある。

Claims (12)

  1. システム中の不具合を検出するため一つ以上のプロセッサ上で実行される方法であって、前記方法は、
    一つ以上のシステム・コンポーネントに対する診断歴を維持するステップと、
    システム・コンポーネント間の動作状態および相関相互作用についてのシステム情報を受信するステップと、
    前記診断歴の分析を行うのに応じて、一つ以上のシステム・コンポーネントを検査すべきかどうかを判定するステップと、
    を含み、
    前記分析は、前記診断歴が、特定のシステム・コンポーネントまたはコンポーネントの組み合わせが前記システム中で検出された問題をもたらした疑いがあることを示し得る、何らかの情報を含んでいるかどうかを判定するために行われ、
    前記診断歴は、前記一つ以上のコンポーネントが、前記問題が検出された前記システム以外のシステムに搭載されたときに、前記一つ以上のコンポーネントに対し行われた少なくとも一つの検査に基づいて維持される、
    方法。
  2. 前記診断歴は、第一システム中に存在するコンポーネントの組み合わせのテスト合格履歴についての情報を含み、前記診断歴が分析されて、前記第一システム中の一つ以上のコンポーネントと同じ一つ以上のコンポーネントを有する第二システム中のコンポーネントの組み合わせに対し実施することになる検査が決定される、請求項1に記載の方法。
  3. 前記診断歴は、第一システム中に存在するコンポーネントの組み合わせのテスト合格履歴についての情報を含み、前記診断歴が分析されて、前記第一システム中の一つ以上のコンポーネントと類似の一つ以上のコンポーネントを有する第二システム中のコンポーネントの組み合わせに対し実施することになる検査が決定される、請求項1に記載の方法。
  4. 前記診断歴は、第一システム中に存在するコンポーネントの組み合わせのテスト合格履歴についての情報を含み、前記診断歴が分析されて、前記第一システム中の一つ以上のコンポーネントと置き換え可能な一つ以上のコンポーネントを有する第二システム中のコンポーネントの組み合わせに対し実施することになる検査が決定される、請求項1に記載の方法。
  5. 疑いのある一つ以上のシステム・コンポーネントまたはコンポーネントの組み合わせのリストを生成するステップをさらに含む、請求項1に記載の方法。
  6. 前記検出された問題をもたらした疑いがより強いと見なされる前記システム・コンポーネントまたはコンポーネントの組み合わせが、前記リスト中に、より目立つように表示される、請求項5に記載の方法。
  7. システム・コンポーネントは、前記診断歴が、前記コンポーネントが他方のシステムに搭載されたとき検査されなかったことを示している場合、より疑いが強いと見なされる、請求項6に記載の方法。
  8. システム・コンポーネントの組み合わせは、前記診断歴が、前記コンポーネントの組み合わせが他方のシステムに搭載されたとき一緒にテストされなかったことを示している場合、より疑いが強いと見なされる、請求項6に記載の方法。
  9. 他方のシステムは供給者のところのテスト・システムを含み、前記供給者は、前記一つ以上のシステム・コンポーネントを製造し、出荷し、あるいは、別途にそれらの相互の適切な機能性について関心を払っている、請求項1に記載の方法。
  10. 前記診断歴は、前記システム中のコンポーネントの組み合わせが複数の他のシステム中で一緒にテスト合格したかどうかを示す、情報の集録を含む、請求項1に記載の方法。
  11. 請求項1〜10のいずれかに記載の方法の全ステップを遂行するようになされた手段を含むシステム。
  12. コンピュータ・プログラムがコンピュータ・システム上で実行されたとき、請求項1〜11のいずれかに記載の方法の全ステップを遂行するための命令を含む、前記コンピュータ・プログラム。
JP2014537753A 2011-10-31 2012-10-04 診断歴に基づく不具合検出方法 Pending JP2014532913A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/285,011 2011-10-31
US13/285,011 US8756459B2 (en) 2011-10-31 2011-10-31 Fault detection based on diagnostic history
PCT/IB2012/055326 WO2013064926A1 (en) 2011-10-31 2012-10-04 Fault detection based on diagnostic history

Publications (1)

Publication Number Publication Date
JP2014532913A true JP2014532913A (ja) 2014-12-08

Family

ID=48173710

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014537753A Pending JP2014532913A (ja) 2011-10-31 2012-10-04 診断歴に基づく不具合検出方法

Country Status (6)

Country Link
US (1) US8756459B2 (ja)
JP (1) JP2014532913A (ja)
CN (1) CN103907093B (ja)
DE (1) DE112012003670T5 (ja)
GB (1) GB2509880B (ja)
WO (1) WO2013064926A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021018446A (ja) * 2019-07-17 2021-02-15 株式会社日立製作所 セキュリティ運用支援システムおよびその方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9645954B2 (en) * 2014-06-05 2017-05-09 Lenovo (Singapore) Pte. Ltd. Embedded microcontroller and buses
CN106534373B (zh) * 2016-12-27 2020-01-03 苏州浪潮智能科技有限公司 San存储设备的io性能测试方法及装置
ES2916348T3 (es) * 2017-08-11 2022-06-30 Carrier Corp Localización de fallos a tierra
CN111052071B (zh) * 2017-09-01 2023-08-01 株式会社日立制作所 软件引入系统、软件引入方法及存储介质
CN109995547B (zh) * 2017-12-29 2022-04-29 中国移动通信集团甘肃有限公司 一种故障诊断方法及设备
US11442438B2 (en) * 2018-08-14 2022-09-13 The Boeing Company Automated supervision and inspection of assembly process
DE102020202897A1 (de) 2020-03-06 2021-09-09 Siemens Mobility GmbH Verfahren zur Überprüfung eines Istzustands elektronischer Komponenten
US11921622B2 (en) * 2021-06-08 2024-03-05 Microsoft Technology Licensing, Llc Generating fault conditions using a fault-enabled software development kit

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000353108A (ja) * 1999-06-11 2000-12-19 Fujitsu Ltd 情報処理装置
US7409318B2 (en) * 2000-02-14 2008-08-05 Nextnine Ltd. Support network
US6826754B1 (en) 2000-09-29 2004-11-30 International Business Machines Corporation Method for eliminating or reducing hang conditions in computer systems
US6944759B1 (en) * 2000-09-29 2005-09-13 Hewlett-Packard Development Company, L.P. Automatic system configuration management
US6826683B1 (en) * 2000-10-23 2004-11-30 Hewlett-Packard Development Company, L.P. Predicting the health of a computer system by determining a set of modifications involved in a proposed intervention to an existing system
US7000150B1 (en) 2002-06-12 2006-02-14 Microsoft Corporation Platform for computer process monitoring
US7584382B2 (en) * 2004-02-19 2009-09-01 Microsoft Corporation Method and system for troubleshooting a misconfiguration of a computer system based on configurations of other computer systems
US7269768B2 (en) 2004-03-18 2007-09-11 Intel Corporation Method and system to provide debugging of a computer system from firmware
US7120559B1 (en) * 2004-06-29 2006-10-10 Sun Microsystems, Inc. System and method for performing automated system management
US7203881B1 (en) * 2004-06-29 2007-04-10 Sun Microsystems, Inc. System and method for simulating system operation
US7614046B2 (en) * 2004-11-24 2009-11-03 Microsoft Corporation Method and system for analyzing the impact of a software update
US7624377B2 (en) * 2005-01-04 2009-11-24 Sap Ag Methods relating to configuration of software
US20080016385A1 (en) * 2006-07-13 2008-01-17 Hollingsworth Robert E Plain Language Announcement of Diagnostic and Troubleshooting Information for Users
US20080168311A1 (en) 2007-01-08 2008-07-10 Microsoft Corporation Configuration debugging comparison
US20080183852A1 (en) * 2007-01-26 2008-07-31 Pramer David M Virtual information technology assistant
US8069371B2 (en) 2007-04-26 2011-11-29 Hewlett-Packard Development Company, L.P. Method and system for remotely debugging a hung or crashed computing system
US8392760B2 (en) * 2009-10-14 2013-03-05 Microsoft Corporation Diagnosing abnormalities without application-specific knowledge
JP2011108201A (ja) * 2009-11-20 2011-06-02 Fujitsu Ltd 情報処理装置、診断方法および診断プログラム
US8108724B2 (en) * 2009-12-17 2012-01-31 Hewlett-Packard Development Company, L.P. Field replaceable unit failure determination
US8140905B2 (en) * 2010-02-05 2012-03-20 International Business Machines Corporation Incremental problem determination and resolution in cloud environments

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021018446A (ja) * 2019-07-17 2021-02-15 株式会社日立製作所 セキュリティ運用支援システムおよびその方法
JP7239412B2 (ja) 2019-07-17 2023-03-14 株式会社日立製作所 セキュリティ運用支援システムおよびその方法

Also Published As

Publication number Publication date
GB2509880A (en) 2014-07-16
CN103907093A (zh) 2014-07-02
GB2509880B (en) 2015-04-29
US20130111272A1 (en) 2013-05-02
CN103907093B (zh) 2017-02-22
US8756459B2 (en) 2014-06-17
GB201408500D0 (en) 2014-06-25
WO2013064926A1 (en) 2013-05-10
DE112012003670T5 (de) 2014-07-03

Similar Documents

Publication Publication Date Title
JP2014532913A (ja) 診断歴に基づく不具合検出方法
US11494295B1 (en) Automated software bug discovery and assessment
US8381184B2 (en) Dynamic test coverage
Bird et al. Putting it all together: Using socio-technical networks to predict failures
US9396094B2 (en) Software test automation systems and methods
US9292473B2 (en) Predicting a time of failure of a device
US10169210B2 (en) Association between a test case and source code
US9563545B2 (en) Autonomous propagation of system updates
US11321081B2 (en) Affinity recommendation in software lifecycle management
US8381036B2 (en) Systems and methods for restoring machine state history related to detected faults in package update process
US20060129892A1 (en) Scenario based stress testing
CA2775419C (en) Method, monitoring system and computer program product for monitoring the health of a monitored system utilizing an associative memory
CN111858254B (zh) 数据的处理方法、装置、计算设备和介质
CN113196315A (zh) 成像模态保养维护包系统和方法
CN114528132A (zh) 存储系统故障的深层次原因分析
US20130117005A1 (en) Coverage analysis for multiple test methodologies
US10609164B2 (en) System and method for diagnosing an unfavorable mobile application user experience
CN111309570A (zh) 压力测试方法、介质、装置和计算设备
JP2016533554A (ja) プロセス制御アーキテクチャにおける変化管理システム
US9348721B2 (en) Diagnosing entities associated with software components
US8855801B2 (en) Automated integration of feedback from field failure to order configurator for dynamic optimization of manufacturing test processes
US9524204B2 (en) Methods and apparatus for customizing and using a reusable database framework for fault processing applications
Dubey Towards adopting ODC in automation application development projects
TWI578739B (zh) Obstacle diagnosis system and method thereof
Bento et al. A layered framework for root cause diagnosis of microservices