(57)【特許請求の範囲】
【請求項１】
クラウド環境における障害原因解析システムの１つ又は複数のルールを検証するための方法であって、
ルール検証システムにより、事前定義の１つ又は複数のルール・セットを含む入力をクラウド環境から受信するステップと、
前記ルール検証システムにより、クラウド・データベースからの前記クラウド環境の１つ又は複数のトポロジに関連した情報及び事前定義の前記１つ又は複数のルール・セットを含む１つ又は複数のユーザ入力を動的に受信するステップと、
前記ルール検証システムにより、事前定義の前記１つ又は複数のルール・セット及び前記クラウド環境の前記１つ又は複数のトポロジに関連した前記情報を含む前記入力の１つの適合性を１つ又は複数の特性パラメータで検証するために、前記クラウド環境の前記１つ又は複数のトポロジに関連した前記情報及び前記１つ又は複数のユーザ入力を有する事前定義の前記１つ又は複数のルール・セットを含む前記入力を検証するステップと、
前記ルール検証システムにより、前記１つ又は複数のルールの検証結果セット出力、前記検証結果セット出力の前記１つ又は複数のルールのそれぞれに対応する検証状態情報、及び前記検証結果セット出力に対して検証された検証スコアを含む、検証報告を生成するステップと、
を含み、
前記１つ又は複数の特性パラメータが、前記クラウド環境の前記１つ又は複数のトポロジに関連した前記情報に従った前記１つ又は複数のルールに関連した、完全性、不完全性、正確性、不正確性、整合性、不整合性、冗長性の有無及び矛盾の有無を含む方法。
【請求項２】
ユーザが、前記検証結果セット出力及び前記クラウド環境の前記１つ又は複数のトポロジに関連した前記情報の少なくとも１つについての１つ又は複数の行為を実施することを可能とするために、生成された前記検証報告に基づき１つ又は複数の提案を前記ユーザに提供するステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記１つ又は複数の行為が、前記１つ又は複数のルール及び前記クラウド環境の前記１つ又は複数のトポロジに関連した前記情報の少なくとも１つの、追加、更新、修正、無視及び削除の少なくとも１つを含む、請求項２に記載の方法。
【請求項４】
前記１つ又は複数のルールが、１つ又は複数の事象に関連した対応する特性及び制約、並びに前記クラウド環境の前記１つ又は複数のトポロジに関連した前記情報に基づき定義された１つ又は複数の根本原因を有する前記１つ又は複数の事象の相関関係を示す、請求項１に記載の方法。
【請求項５】
前記１つ又は複数の特性パラメータが、前記クラウド環境の前記１つ又は複数のトポロジに関連した前記情報に従った前記１つ又は複数のルールに関連した、満足度、及び非満足度を更に含む、請求項１に記載の方法。
【請求項６】
前記検証結果セット出力の前記検証状態情報が、整合、不整合、冗長、正確、不正確、完全、不完全、満足及び不満足の少なくとも１つを含む、請求項１に記載の方法。
【請求項７】
クラウド環境における障害原因解析システムの１つ又は複数のルールを検証するためのルール検証システムであって、
処理装置と、
実行時に、前記処理装置に、
クラウド・データベースから事前定義の前記１つ又は複数のルール・セットを含む入力を受信させ、
前記クラウド・データベースからの前記クラウド環境の１つ又は複数のトポロジに関連した情報、及び事前定義の前記１つ又は複数のルール・セットを含む１つ又は複数のユーザ入力を動的に受信させ、
事前定義の前記１つ又は複数のルール・セット及び前記クラウド環境の前記１つ又は複数のトポロジに関連した前記情報を含む前記入力の１つの適合性を１つ又は複数の特性パラメータで検証するために、前記クラウド環境の前記１つ又は複数のトポロジに関連した前記情報及び前記１つ又は複数のユーザ入力を有する前記事前定義の１つ又は複数のルール・セットを含む前記入力を検証させ、且つ
前記１つ又は複数のルールの検証結果セット出力、前記検証結果セット出力の前記１つ又は複数のルールのそれぞれに対応した検証状態情報、及び前記検証結果セット出力に対して検証された検証スコアを含む検証報告を生成させる、
前記処理装置が実行可能な命令を格納する前記処理装置に通信可能に結合された記憶装置と、
を含み、
前記１つ又は複数の特性パラメータが、前記クラウド環境の前記１つ又は複数のトポロジに関連した前記情報に従った前記１つ又は複数のルールに関連した、完全性、不完全性、正確性、不正確性、整合性、不整合性、冗長性の有無及び矛盾の有無を含むルール検証システム。
【請求項８】
前記処理装置がさらに、ユーザが、前記検証結果セット出力及び前記クラウド環境の前記１つ又は複数のトポロジの少なくとも１つについての１つ又は複数の行為を実施することを可能とするために、生成された前記検証報告に基づき、１つ又は複数の提案を前記ユーザに提供するように構成される、請求項７に記載のルール検証システム。
【請求項９】
前記１つ又は複数の行為が、前記１つ又は複数のルール及び前記クラウド環境の前記１つ又は複数のトポロジに関連した前記情報の少なくとも１つの、追加、更新、修正、無視及び削除の少なくとも１つを含む、請求項８に記載のルール検証システム。
【請求項１０】
前記１つ又は複数のルールが、１つ又は複数の事象に関連した対応する特性及び制約、並びに前記クラウド環境の前記１つ又は複数のトポロジに関連した前記情報に基づき定義された１つ又は複数の根本原因を有する前記１つ又は複数の事象の相関関係を示す、請求項７に記載のルール検証システム。
【請求項１１】
前記１つ又は複数の特性パラメータが、前記クラウド環境の前記１つ又は複数のトポロジに関連した前記情報に従った前記１つ又は複数のルールに関連した、満足度、及び非満足度を更に含む、請求項７に記載のルール検証システム。
【請求項１２】
前記検証結果セット出力の前記検証状態情報が、整合、不整合、冗長、正確、不正確、完全、不完全、満足及び不満足の少なくとも１つを含む、請求項７に記載のルール検証システム。
【請求項１３】
少なくとも１つの処理装置により処理されるときに、ルール検証システムに、
事前定義の１つ又は複数のルール・セットを含む入力をクラウド・データベースから受信するステップと、
前記クラウド・データベースからのクラウド環境の１つ又は複数のトポロジに関連した情報及び事前定義の前記１つ又は複数のルール・セットを含む１つ又は複数のユーザ入力を動的に受信するステップと、
事前定義の前記１つ又は複数のルール・セット及び前記クラウド環境の前記１つ又は複数のトポロジに関連した前記情報を含む前記入力の１つの適合性を１つ又は複数の特性パラメータで検証するために、前記クラウド環境の前記１つ又は複数のトポロジに関連した前記情報を有する事前定義の前記１つ又は複数のルール・セット、及び前記１つ又は複数のユーザ入力を含む前記入力を検証するステップと、
前記１つ又は複数のルールの検証結果セット出力、前記検証結果セット出力の前記１つ又は複数のルールのそれぞれに対応する検証状態情報、及び前記検証結果セット出力に対して検証された検証スコアを含む、検証報告を生成するステップと、
を含む、動作を実施させる命令が格納された非一時的なコンピュータ読み取り可能な媒体であって、
前記１つ又は複数の特性パラメータが、前記クラウド環境の前記１つ又は複数のトポロジに関連した前記情報に従った前記１つ又は複数のルールに関連した、完全性、不完全性、正確性、不正確性、整合性、不整合性、冗長性の有無及び矛盾の有無を含む、媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の主題は、一般的には、クラウド環境に関し、より詳細には、しかし限定するものではなく、クラウド環境における障害原因解析システムのルール検証のための方法及びシステムに関する。
【背景技術】
【０００２】
一般的に、クラウド・コンピューティングは、構成可能なコンピューティング資源の共有空間へのユビキタスな、便利な、オンデマンドのアクセスを可能とするためのモデルである。クラウド・コンピューティング及び他のオンライン・サービスは、様々な能力により顧客が、サードパーティのデータ・センタ内に顧客データを格納し且つ処理することを可能とする。顧客はクラウド・サービス・プロバイダを信頼しているので、クラウド・サービス・プロバイダにより提供されるサービスが継続的且つ耐障害性のあることを期待する。しかしながら、何等の障害もなく継続的に１００％的確なクラウド・サービスを提供することは不可能である。さらに、クラウド環境内で発生した障害に対する根本原因を同定することもまた、クラウド環境内の複雑性の増加により達成することが困難である。従来、障害原因解析（ＲＣＡ：Ｒｏｏｔ  Ｃａｕｓｅ  Ａｎａｌｙｓｉｓ）システムが、発生した障害の根本原因を評価するために使用される。しかしながら、評価された根本原因が正しくない又は妥当な特性を欠いていることから、障害原因解析システムは信頼性がない。ＲＣＡシステムによる信頼性のない根本原因評価の背景にある主な理由は、ＲＣＡシステムに対する入力として与えられる不正確なルールにある。
【０００３】
典型的には、ルールは、ＲＣＡシステムに対する入力として与えられる不正確なルールを避けるために検証される。従来の検証方法は、様々なモデルにルールを適用し且つルールの正確性を評価することによりルールを検証する。他の従来の方法は、制約を使用してルールの特性を検証し、且つ、ルールの正確性及びルールの欠落している特性を決定するために述語又は遷移モデルを使用する。しかしながら、従来の検証方法は、膨大な複雑性を有する継続的に成長する大規模なクラウド環境のためのＲＣＡシステムに適用可能なルールを検証するためには利用することができない。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従って、成長するクラウド環境内で発生する障害に対する正確な根本原因を演繹し、且つ既存の方法の限界に打ち勝つために、クラウド環境の動的に拡張されるトポロジに基づく入力ルールを動的に検証するための方法及びシステムの必要性がある。
【０００５】
本開示を通じて、従来技術の１つ又は複数の欠点が克服され、且つ、付加的利点が提供される。付加的な機能及び利点が、本開示の技術を通じて実現される。本開示の他の実施例及び態様が、本明細書中に詳細に説明され、且つ、特許請求される開示の一部と看做される。
【課題を解決するための手段】
【０００６】
従って、本開示は、クラウド環境における障害原因解析システムの１つ又は複数のルールを検証するための方法に関する。本方法は、クラウド・データベースからの事前定義の１つ又は複数のルール・セットを含む入力を、ルール検証システムにより受信するステップを含む。入力の受信により、本方法は、クラウド・データベースからのクラウド環境の１つ又は複数のトポロジに関連した情報及び事前定義の１つ又は複数のルール・セットを含む入力上の１つ又は複数のユーザ入力を、ルール検証システムにより動的に受信するステップを含む。本方法はさらに、事前定義の１つ又は複数のルール・セット及びクラウド環境の１つ又は複数のトポロジに関連した情報を含む入力の１つの適合性を１つ又は複数の特性パラメータで決定するために、クラウド環境の１つ又は複数のトポロジに関連した情報及び１つ又は複数のユーザ入力を有する事前定義の１つ又は複数のルール・セットを含む入力を、ルール検証システムにより検証するステップを含む。検証すると、本方法は、１つ又は複数のルールの検証結果セット出力、１つ又は複数のルールの検証結果セット出力のそれぞれに対応する検証状態情報、及び検証結果セット出力に対して決定された検証スコアを含む検証報告を、ルール検証システムにより生成するステップを含む。
【０００７】
さらに、本開示は、クラウド環境における障害原因解析システムの１つ又は複数のルールを検証するためのルール検証システムに関する。本システムは、処理装置及び処理装置に通信可能に結合された記憶装置を含み、記憶装置は、実行時に、処理装置に、クラウド・データベースからの事前定義の１つ又は複数のルール・セットを含む入力を受信させる、処理装置が実行可能な命令を格納する。処理装置はさらに、クラウド・データベースからクラウド環境の１つ又は複数のトポロジに関連した情報、及び事前定義の１つ又は複数のルール・セットを含む入力上の１つ又は複数のユーザ入力を動的に受信するように構成される。処理装置はさらに、事前定義の１つ又は複数のルール・セット及びクラウド環境の１つ又は複数のトポロジに関連した情報を含む入力の１つの適合性を１つ又は複数の特性パラメータで決定するために、クラウド環境の１つ又は複数のトポロジに関連した情報及び１つ又は複数のユーザ入力を有する事前定義の１つ又は複数のルール・セットを含む入力を検証する。検証すると、処理装置は、１つ又は複数のルールの検証結果セット出力、検証結果セット出力の１つ又は複数のルールのそれぞれに対応する検証状態情報、及び検証結果セット出力に対して決定された検証スコアを含む検証報告を生成する。
【０００８】
さらに、本開示は、少なくとも１つの処理装置により処理されるとき、ルール検証システムに、クラウド・データベースからの事前定義の１つ又は複数のルール・セットを含む入力を受信する動作を実行させる、媒体上に格納された命令を含む、非一時的なコンピュータ読み込み可能媒体に関する。さらに、当該命令は、処理装置に、クラウド・データベースからのクラウド環境の１つ又は複数のトポロジに関連した情報、及び事前定義の１つ又は複数のルール・セットを含む入力上の１つ又は複数のユーザ入力を動的に受信させる。さらに、当該命令は、事前定義の１つ又は複数のルール・セット及びクラウド環境の１つ又は複数のトポロジに関連した情報を含む入力の１つの適合性を１つ又は複数の特性パラメータで決定するために、処理装置に、クラウド環境の１つ又は複数のトポロジ及び１つ又は複数のユーザ入力に関連した情報を有する事前定義の１つ又は複数のルール・セットを含む入力、を検証させる。検証すると、当該命令は、処理装置に、１つ又は複数のルールの検証結果セット出力、検証結果セット出力の１つ又は複数のルールのそれぞれに対応する検証状態情報、及び検証結果セット出力に対して決定された検証スコアを含む検証報告を生成させる。
【０００９】
前述の概要は、例示のためのみであり、何等制限されることを意図するものではない。上記の例示的態様、実施例及び機能に加えて、さらなる態様、実施例及び機能が、図面及び以下の詳細な説明を参照することにより明らかになろう。
【００１０】
本開示に組み込まれ且つ本開示の一部を構成する、添付の図面は、例示的実施例を図解し、該記述と共に、開示された原理を例示することを助ける。図において、参照番号の最左の数字は、参照番号が最初に出現する図を示す。同一の番号が、図全体を通して、同様の機能及び構成要素を参照するために使用される。本開示の主題の実施例に関連したシステム及び／又は方法のいくつかの実施例が、例としてのみ、且つ添付の図面を参照して、ここで説明される。
【図面の簡単な説明】
【００１１】
【図１】本開示のいくつかの実施例に従ったクラウド環境における障害原因解析システムの１つ又は複数のルールを検証するための例示的システムのアーキテクチャ・ダイアグラムを例示する図である。
【図２ａ】本開示のいくつかの実施例に従った図１のクラウド環境下における障害原因解析システムの１つ又は複数のルールを検証するためのルール検証システムの詳細なブロック図を例示する図である。
【図２ｂ】本開示のいくつかの実施例に従った１つ又は複数のパラメータに対する１つ又は複数のルールの検証の処理過程を示すための例示的ダイアグラムを例示する図である。
【図２ｃ】本開示のいくつかの実施例に従った１つ又は複数のパラメータに対する１つ又は複数のルールの検証の処理過程を示すための例示的ダイアグラムを例示する図である。
【図２ｄ】本開示のいくつかの実施例に従った１つ又は複数のパラメータに対する１つ又は複数のルールの検証の処理過程を示すための例示的ダイアグラムを例示する図である。
【図２ｅ】本開示のいくつかの実施例に従った１つ又は複数のパラメータに対する１つ又は複数のルールの検証の処理過程を示すための例示的ダイアグラムを例示する図である。
【図２ｆ】本開示のいくつかの実施例に従った１つ又は複数のパラメータに対する１つ又は複数のルールの検証の処理過程を示すための例示的ダイアグラムを例示する図である。
【図２ｇ】本開示のいくつかの実施例に従った１つ又は複数のパラメータに対する１つ又は複数のルールの検証の処理過程を示すための例示的ダイアグラムを説明する図である。
【図３】本開示のいくつかの実施例に従ったクラウド環境における障害原因解析システムの１つ又は複数のルールを検証するための例示的方法の流れ図を例示する図である。
【図４】本開示と整合した実施例を実装するための例示的コンピュータ・システムのブロック図である。
【発明を実施するための形態】
【００１２】
本明細書中のいずれのブロック図も本発明の主題の原理を具現化する例示的システムの概念的ビューを表していることが当業者には理解されるであろう。同様に、任意の流れ図、フロー図、状態遷移図、擬似コードなどが、コンピュータ又はプロセッサが明示的に示されているか否かに拘らず、コンピュータ読み取り可能な媒体中に実質的に表現され、且つ、コンピュータ又はプロセッサにより実行され得る、様々な処理過程を表現することが理解されるであろう。
【００１３】
本明細書において、用語「例示的（ｅｘｅｍｐｌａｒｙ）」は、「実例（ｅｘａｍｐｌｅ）、事例（ｉｎｓｔａｎｃｅ）又は例証（ｉｌｌｕｓｔｒａｔｉｏｎ）として提供されること」を意味する。「例示的」として本明細書に開示された本発明の主題の任意の実施例又は実装が、他の実施例より好ましい又は有利であると解釈される必要はない。
【００１４】
本開示は、様々な修正及び択一的な形式に影響されやすいと共に、それらの特定の実施例は、図面中に実例として示されており、且つ以下に詳細に説明される。しかしながら、開示された特定の形式に本開示を限定することを意図するものではなく、逆に、本開示が、本開示の範囲内に入るすべての修正、等価物及び代替物を包含することを理解されたい。
【００１５】
用語「含む（ｃｏｍｐｒｉｓｅｓ）」、「含んでいる（ｃｏｍｐｒｉｓｉｎｇ）」又はそれらの任意の他の変形は、構成要素又はステップのリストを含む、機器、デバイス、又は方法が、それらの構成要素又はステップのみを含まないが、そのような機器、デバイス又は方法に対して明確にリストされていない他の構成要素又はステップを含むような、非排他的に包含することを意図している。言い換えれば、「ａ  ・・・を含む」により処理されるシステム又は装置内の１つ又は複数の要素は、多くの制約なしに、システム又は装置内の他の要素又は追加の要素の存在を排除するものではない。
【００１６】
本開示は、クラウド環境における障害原因解析システム（ＲＣＡ）の１つ又は複数のルールを検証するための方法及びシステムに関する。ルール検証システムは、クラウド・データベースから事前定義の１つ又は複数のルール・セットを含む入力を受信する。事前定義の１つ又は複数のルール・セットを含む入力を受信すると、ルール検証システムは、クラウド・データベースからクラウド環境の１つ又は複数のトポロジに関連した情報を動的に受信し、また、事前定義の１つ又は複数のルール・セットを含む入力上の１つ又は複数のユーザ入力を受信する。さらに、ルール検証システムは、事前定義の１つ又は複数のルール・セット及びクラウド環境の１つ又は複数のトポロジに関連した情報を含む入力の１つの適合性を１つ又は複数のパラメータで決定するために、クラウド環境の１つ又は複数のトポロジに関連した情報及び１つ又は複数のユーザ入力を有する事前定義の１つ又は複数のルール・セットを含む入力を検証する。１つ又は複数のパラメータは、クラウド環境の１つ又は複数のトポロジに関連した情報に従った事前定義の１つ又は複数のルール・セットを含む入力に関しての正確性、不正確性、冗長性、完全性、不完全性、整合性、不整合性、満足度、及び非満足度を含むが限定されない。検証すると、１つ又は複数のルールの検証結果セット出力を含む、検証報告が生成される。検証報告はまた、１つ又は複数のルールの検証結果セット出力の１つ又は複数のルールのそれぞれに対応する検証状態情報、及び検証結果セット出力に対して決定された検証スコアを含む。ユーザは、検証報告に従ってルール検証システムにより提供された１つ又は複数の提案に基づき、検証結果セット出力及びクラウド環境の１つ又は複数のトポロジに関連した情報の少なくとも１つの上で１つ又は複数の行為を実施する。ユーザにより１つ又は複数の行為が実施されると、検証処理過程は、正しい検証結果セット出力が得られるまで継続する。次いで、正しい検証結果セット出力は、クラウド環境における障害の根本原因を演繹するためにＲＣＡへの入力として与えられる。
【００１７】
クラウド環境の１つ又は複数のトポロジに関連した情報を有する事前定義の１つ又は複数のルール・セットを含む入力を検証するステップは、クラウド環境において発生する障害の根本原因の演繹における正確性及び信頼性を改善する。さらに、クラウド環境の効率的管理をもたらす、ＲＣＡシステムの性能が増大する。クラウド管理への本開示の統合は、いくつかの情報技術（ＩＴ）運営のためのソリューションを提供する。さらに、本開示は、資源の最適な使用法を提供し、且つ、効率的コスト節減をもたらすクラウド環境における障害の迅速な解決に導く。また、クラウド環境の１つ又は複数のトポロジに関連した情報に関する検証が、１つ又は複数のルールの拡張以前に実施されることから、検証努力が削減される。
【００１８】
本開示の実施例の以下の詳細な説明において、明細書の一部を形成し、且つ、開示が実践され得る特定の実施例を例示として示す、添付の図面が参照される。これらの実施例は、当業者が本開示を実践することが可能となるように十分詳細に説明され、他の実施例が利用され得ること、及び変更が本開示の範囲を逸脱することなくなされ得ることを理解されたい。従って、以下の説明は限定する意味で受けとられるべきではない。
【００１９】
図１では、本開示のいくつかの実施例に関連したクラウド環境における障害原因解析システムの１つ又は複数のルールを検証するための例示的システムのアーキテクチャ・ダイアグラムを例示する。
【００２０】
図１に示すように、例示的システム１００は、クラウド環境における障害原因解析システム１０７の１つ又は複数のルールを検証するように構成された１つ又は複数の構成要素を含む。１つ又は複数のルールは、定義された１つ又は複数の根本原因を有する１つ又は複数の事象の相関関係を示す。１つ又は複数の根本原因は、１つ又は複数の事象に関連した対応する特性及び制約、並びにクラウド環境の１つ又は複数のトポロジに関連した情報に基づき定義される。ある実施例では、例示的システム１００は、通信ネットワーク１０９を介して相互に接続されたルール検証システム１０３、クラウド・データベース１０５及び障害原因解析システム１０７を含む。一例として、通信ネットワーク１０９は、無線通信ネットワーク及び有線通信ネットワークを含むが、これらに限定されない。ルール検証システム１０３は、クラウド環境の１つ又は複数のトポロジに関連した情報及び１つ又は複数のユーザ入力に従ってクラウド環境における障害原因解析システム１０３の１つ又は複数のルールを検証する。クラウド環境の１つ又は複数のトポロジに関連した情報は、クラウド・データベース１０５から動的に引き出される。クラウド・データベース１０５はまた、クラウド環境に関連した大量の他の情報を格納する。ある実施例では、クラウド・データベース１０５は、ルール検証システム１０３内に統合され得る。別の実施例では、クラウド・データベースは、ルール検証システム１０３と独立に実装され得る。１つ又は複数のルールを検証すると、１つ又は複数のルールの検証結果セット出力、検証結果セット出力のそれぞれに対応した検証状態情報、及び検証結果セット出力に対して決定された検証スコアを含む、検証報告が生成される。障害原因解析システム１０７は、ルール検証システム１０３により生成された１つ又は複数のルールの検証結果セット出力を入力として受信し、且つ、クラウド環境における障害の根本原因を演繹するために受信した入力を処理する。
【００２１】
ある実施例では、ルール検証システム１０３は、中央処理装置（「ＣＰＵ」又は「プロセッサ」）１１１、記憶装置１１３及びルール検証モジュール１１５を含む。ルール検証システム１０３は、図２ａに例示されるように典型的なルール検証システムであり得る。ルール検証システム１０３は、処理装置１１１、記憶装置１１３及びＩ／Ｏインターフェイス２０１を含む。Ｉ／Ｏインターフェイス２０１は、処理装置１１１及びＩ／Ｏデバイスを結合する。Ｉ／Ｏデバイスは、Ｉ／Ｏインターフェイス２０１を介して入力を受信し、且つＩ／Ｏインターフェイス２０１を介してＩ／Ｏデバイス内に表示するための出力を送信するように構成される。
【００２２】
ルール検証システム１０３は、データ２０３及びモジュール２０５を含む。ある実装では、データ２０３及びモジュール２０５は、記憶装置１１３内に格納され得る。ある実例では、データ２０３は、ルール・データ２０７、クラウド・トポロジ・データ２０９、検証報告データ２１１、ユーザ入力データ２１３及び他のデータ２１５を含むことができる。ある実施例では、データ２０３は、様々な形式のデータ構造で記憶装置１１３内に格納され得る。さらに、前述のデータは、リレーショナル又は階層的データ・モデルなどのデータ・モデルを使用して編成され得る。他のデータ２１５はまた、提案された実装手法を参照データとして格納するための参照レポジトリとして参照され得る。他のデータ２１５はまた、ルール検証システム１０３の様々な機能を実施するためのモジュール２０５により生成された、一時的データ及び一時的ファイルを含むデータを格納することができる。
【００２３】
モジュール２０５は、例えば、受信モジュール２１７，ルール検証モジュール１１５、検証報告ジェネレータ・モジュール２１９、表示モジュール２２１を含むことができる。モジュール２０５はまた、ルール検証システム１０３の様々な雑多な機能を実施するための他のモジュール２２３を含むことができる。前述のこのようなモジュールが、単一のモジュール又は異なるモジュールの組み合わせとして表現され得ることが認識されよう。モジュール２０５は、ソフトウェア、ハードウェア及び／又はファームウェア内に実装され得る。
【００２４】
ある実施例では、受信モジュール２１７は、事前定義の１つ又は複数のルール・セットを含む入力をクラウド・データベース１０５から受信する。ある実例では、１つ又は複数のルールは、定義された１つ又は複数の根本原因と１つ又は複数の事象の相関関係を示す。１つ又は複数の根本原因は、１つ又は複数の事象に関連した対応する特性及び制約、並びにクラウド環境の１つ又は複数のトポロジに関連した情報に基づき定義される。１つ又は複数のルールは、ルール検証システム１０３によりクラウド・データベース１０５から引き出され、且つ、ルール・データ２０７として格納される。クラウド環境に関連した１つ又は複数のルールは、当技術分野で公知の静的検証技術を使用して事前に検証され、且つ、将来の使用のためにクラウド・データベース１０５内に格納される。静的検証技術は、背景理論付きＳＡＴ（ＳＭＴ）ソルバ及び制約プログラミング（ＣＰ）ソルバを含むことができるが、これらに限定されない。事前定義の１つ又は複数のルール・セットを含む入力を受信すると、受信モジュール２１７はさらに、事前定義の１つ又は複数のルール・セットを含む入力内に存在する１つ又は複数のルールを訂正するために、クラウド・データベース１０５からのクラウド環境の１つ又は複数のトポロジに関連した情報及び１つ又は複数のユーザ入力を動的に受信する。クラウド環境の１つ又は複数のトポロジに関連した情報は、クラウド・トポロジ・データ２０９として格納される。受信した１つ又は複数のユーザ入力は、ユーザ入力データ２１３として格納される。クラウド環境の１つ又は複数のトポロジに対してなされた任意の種類の修正は、クラウド・データベース１０５並びにクラウド・トポロジ・データ２０９を動的に更新する。
【００２５】
ある実施例では、ルール検証モジュール１１５は、事前定義の１つ又は複数のルール・セット及びクラウド環境の１つ又は複数のトポロジに関連した情報を含む入力の１つの適合性を１つ又は複数の特性パラメータで決定するために、動的に受信したクラウド環境の１つ又は複数のトポロジに関連した情報及び１つ又は複数のユーザ入力を有する事前定義の１つ又は複数のルール・セットを含む入力を検証する。１つ又は複数のパラメータは、クラウド環境の１つ又は複数のトポロジに関連した情報に従った事前定義の１つ又は複数のルール・セットを含む入力に関する、正確性、不正確性、冗長性、完全性、不完全性、整合性、不整合性、満足度、及び非満足度を含むがこれらに限定されない。
【００２６】
ある例示的実施例では、１つ又は複数のルールの正確性及び不正確性は、１つ又は複数のルールが、クラウド環境の１つ又は複数のトポロジに関連した情報に従って正しく定義されているか否かを確認し、且つ、クラウド環境の１つ又は複数のトポロジ内の連結パスが、正しく確立されているか否かを検査するために検証される。確立された連結パスが不正確であれば、演繹される根本原因は不正確である。
【００２７】
一例として、サーバ１  ２２７がインターネット・プロトコル（ＩＰ）スイッチ２３１を通じてストレージ・アレイ２３３に接続されている、図２ｂに示されたクラウド環境を考える。しかし、定義された１つ又は複数のルールは、表１に示されるように異なるクラウド環境に属しているファイバ・チャネル（ＦＣ：Ｆｉｂｅｒ  Ｃｈａｎｎｅｌ）スイッチに従っている。
【００２８】
【表１】
0006360131.tif 000002
【００２９】
従って、ＦＣスイッチはクラウド環境内に存在していないので、１つ又は複数のルールはクラウド環境に関して不正確に定義されている。１つ又は複数のルールにおける不正確性は、図２ｂに示されるようなクラウド環境に対応した１つ又は複数のルールを追加する、すなわち、サーバ１  ２２７及びＩＰスイッチ２３１に関する１つ又は複数のルールを定義することによるか、又は表１で定義された１つ又は複数のルールに関係する異なるクラウド環境を選択することにより、修正され得る。
【００３０】
一例として、図２ｃに示されるような接続性パスを考える。
図２ｃに関係した１つ又は複数のルールは、以下の表２に示される。
【００３１】
【表２】
0006360131.tif 000003
【００３２】
本実例では、ルールＩＤ  １は、根本原因「ｄ」の結果となる事象「ａ」、「ｂ」及び「ｃ」を示している。ルールＩＤ  ２は、根本原因「ｅ」の結果となる事象「ｆ」、「ｇ」及び「ｃ」を示す。あるシナリオでは、事象「ｃ」及び「ｅ」間に連結パス２３７があり、且つ「ｃ」から「ｄ」への連結パス２３５がないことを考える。しかしながら、「ｄ」から「ｅ」への連結パス２３６が存在する場合、「ｃ」により示されている根本原因は「ｅ」であり、且つ「ａ」及び「ｂ」により示されている根本原因は「ｄ」であることから、連結パス２３７は、ルールＩＤ  ２に従った不正確なパスとなる。従って、この不正確な連結パス２３７は修正されなければならない。
【００３３】
ある例示的実施例では、１つ又は複数のルールの冗長性は、同一の根本原因の結果をもたらす冗長である１つ又は複数のルールが存在するか否かを検査するために検証される。このような場合、１つ又は複数の冗長なルールは、削除され得る。一例として、サーバ（Ｅ１）、ＩＰスイッチ１（Ｅ２）、コントローラ（Ｅ３）、ＦＣスイッチ１（Ｅ４）、ストレージ・アレイ（Ｅ５）及びＦＣスイッチ２３８を含む図２ｄに示されるようなクラウド環境を考える。１つ又は複数のルールは、以下の表３に示されるようなクラウド環境に関係して定義される。
【００３４】
【表３】
0006360131.tif 000004
【００３５】
表３に述べているように、事象Ｅ１〜Ｅ５は、根本原因「ＦＣスイッチ２３８内の障害」という結果となり、且つ、事象Ｅ１、Ｅ２、Ｅ４及びＥ５もまた、根本原因「ＦＣスイッチ２３８内の障害」という結果となる。従って、ルールＩＤ  ２は、ルールＩＤ  １に発生している事象が、既にルールＩＤ  ２を包含しており、また対応するクラウド環境のトポロジ内の同一のパス内に存在しているので、ルールＩＤ  １に従って冗長となる。従って、ルールＩＤ  ２は、事前定義の１つ又は複数のルール・セットを含む入力内の冗長なルールを除去するために削除され得る。
【００３６】
ある例示的実施例では、１つ又は複数のルールの完全性は、１つ又は複数の資源構成要素の１つから通過され得る１つ又は複数の資源構成要素のすべてが、１つ又は複数のルールの少なくとも１つに包含されているかどうかを検査するために検証される。一例として、サーバ１  ２２７、ＩＰスイッチ２３１、ストレージ・アレイ２３３、サーバ２  ２３９、サーバ３  ２４１、ＦＣスイッチ２  ２４５、ＦＣスイッチ３  ２４７を含む、図２ｅに示されるようなクラウド環境を考える。クラウド環境に対する１つ又は複数のルールは、表１に定義される。しかし、定義された１つ又は複数のルールは、ＩＰスイッチ２３１に関係した１つ又は複数のルールが表１に定義されていないことから、不完全である。従って、ＩＰスイッチ２３１に関係した１つ又は複数のルールが、クラウド環境に対する１つ又は複数のルールの完全性を確保するために定義されなければならない。さらに、１つ又は複数のルールの完全性はまた、１つ又は複数のルール内に定義されたすべての条件に対して、クラウド環境の１つ又は複数のトポロジ内の１つ又は複数の資源構成要素間の連結パスの可用性を検査するために検証される。１つ又は複数のルールは、１つ又は複数のルール内に定義された条件に従った１つ又は複数の資源構成要素間に連結パスが不足している場合、クラウド環境の１つ又は複数のトポロジと矛盾していることになる。一例として、図２ｅに示されるクラウド環境を考える。クラウド環境のトポロジに関連した情報に従うと、根本原因「ストレージ・アレイ２３３」を有するルール「サーバ３  ２４１」＆＆「ＩＰスイッチ２３１」が存在する場合、サーバ３  ２４１とＩＰスイッチ２３１間に直接の連結パスがないことから、このルールは、クラウド環境のトポロジと矛盾していることになる。従って、矛盾を正すために、ルールが修正されるか、又はクラウド環境のトポロジが修正される。
【００３７】
さらに、１つ又は複数のルールは、整合性を検査するために検証される。すなわち、同一の事象セットに対して２つの異なる根本原因が与えられている場合、１つ又は複数のルールは、不整合となっている。１つ又は複数のルールは、２つの異なる根本原因が同一の事象セットに対して存在する場合、不整合であることになる。さらに、事前定義の１つ又は複数のルール・セット及びクラウド環境の１つ又は複数のトポロジを含む入力内の複雑性に起因して、クラウド環境の１つ又は複数のトポロジに従った１つ又は複数のルール内に閉路及び自己ループが発生する可能性がある。閉路の発生は、１つ又は複数のルールがロック状態を引き起し、ロック状態では、閉路に関わる１つ又は複数の事象が、事象の元々の根本原因を演繹することなくこれらの事象の根本原因として相互に参照される。同様に、自己ループの発生は、１つ又は複数のルールに、当該事象の元々の根本原因を演繹することなく当該事象の根本原因としてそのルール自身の事象を参照させる。従って、１つ又は複数のルールは、事前定義の１つ又は複数のルール・セット及びクラウド環境の１つ又は複数のトポロジに関連した情報を含む入力内の自己ループ及び閉路障害を正すために検証される。
【００３８】
ルール検証モジュール１１５により検証が実施されると、検証報告が、検証報告ジェネレータ・モジュール２１９により生成される。生成された検証報告は、検証報告データ２１１として格納される。検証報告データ２１１は、１つ又は複数のルールの検証結果セット出力、検証結果セット出力の１つ又は複数のルールのそれぞれに対応した検証状態情報、及び検証結果セット出力に対して決定された検証スコアを含む。検証結果セット出力の検証状態は、整合、完全、不完全、不整合、冗長、正確、不正確、満足、及び非満足の少なくとも１つを示す。検証スコアは、検証結果セット出力の１つ又は複数のルールの正確及び不正確ルールの合計数を示している。
【００３９】
図２ｆは、検証報告ジェネレータ・モジュール２１９により生成された例示的検証報告を示す。例示的検証報告は、ルールＩＤ、ルール説明、検証報告に表記されたデータの最終更新日、検証状態及び検証スコアを含む。検証スコアは、２００として検証されたルールの総数を、すなわちルールの数２００が、ルール検証モジュールにより検証されたことを、１８９として検証結果セット出力内の正確なルールの総数を、６として不整合なルールの総数を、６として冗長なルールの総数を、０として不完全なルールの総数を、また０として不満足なルールの総数を示す。従って、検証スコアは、検証結果セット出力内の合計１８９のルールが２００の検証されたルールのうち正しいことを推論している。
【００４０】
ある実施例では、表示モジュール２２１は、検証報告をユーザに表示する。検証報告に基づく１つ又は複数の提案がユーザに与えられる。一例として、ユーザに提供された１つ又は複数の提案は、１つ又は複数のルールに対する条件を追加すること、１つ又は複数のルールを除去すること、１つ又は複数のルールを併合すること、１つ又は複数のルールを修正すること、トポロジに変更を加えることなどであり得る。ユーザは、検証報告を通して与えられた提案に基づき検証結果セット出力について１つ又は複数の行為を実施する。１つ又は複数の行為は、検証結果セット出力内の１つ又は複数のルールの少なくとも１つ又はクラウド環境の１つ又は複数のトポロジに関連した情報を追加すること、更新すること、修正すること、無視すること及び削除することのうちの少なくとも１つであり得る。
【００４１】
一例として、図２ｇに示されるようなクラウド環境を考える。クラウド環境に従った１つ又は複数のルールは以下の表４に示されるようなものである。ルールＩＤ１は、根本原因「ｄ」を結果とする事象「ａ」、「ｂ」及び「ｃ」を示す。ルールＩＤ２は、根本原因「ｇ」を結果とする事象「ｉ」及び「ｋ」を示す。ルール検証システム１０３は、併合提案をユーザに提供し、その中で、クラウド環境のトポロジは、ルール検証システム１０３により提供された併合提案に従って事象「ｇ」と「ｄ」間に新しい連結パス２４９を追加することにより修正される。従って、ルールＩＤ３が、根本原因「ｄ」を結果とする事象「ａ」、「ｂ」、「ｃ」、「ｉ」及び「ｋ」を示す併合提案に従って新しいルールとして追加される。
【００４２】
【表４】
0006360131.tif 000005
【００４３】
クラウド環境の１つ又は複数のトポロジに関連した動的な情報及び１つ又は複数のユーザ入力に従った検証処理過程は、ユーザが生成された検証報告に満足する、すなわち、検証報告が１００％の検証スコアを示すことになるまで、反復的に実施される。
【００４４】
従って、本開示は、検証結果セット出力を提供するためにクラウド環境の１つ又は複数のトポロジに関連した情報及び１つ又は複数のユーザ入力に従って１つ又は複数のルールを検証する。このようにして得られた検証結果セット出力は、クラウド環境における障害の根本原因を演繹するために障害原因解析システム１０７に対する入力として与えられる。
【００４５】
図３は、本開示のいくつかの実施例に従ったクラウド環境における障害原因解析システムの１つ又は複数のルールを検証するための例示的方法の流れ図を例示する。
【００４６】
図３に例示されるように、方法３００は、クラウド環境における障害原因解析システム１０７の１つ又は複数のルールを検証するために処理装置１１１により実装された１つ又は複数のブロックを含む。方法３００は、コンピュータ実行可能な命令の一般的な文脈において記述され得る。一般的に、コンピュータ実行可能な命令は、特定の機能を実施する又は特定の抽象的データ形式を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、手続き、モジュール及び関数を含むことができる。
【００４７】
方法３００が記述されている順序は、限定するものと解釈されることを意図するものではなく、且つ、任意の数の記述された方法のブロックは、方法３００を実装するために任意の順序で結合され得る。加えて、個別のブロックは、本明細書に記述された主題の精神及び範囲を逸脱することなく方法３００から削除され得る。さらに、方法３００は、任意の適切なハードウェア、ソフトウェア、ファームウェア又はこれらの組み合わせ内に実装され得る。
【００４８】
ブロック３０１において、事前定義の１つ又は複数のルール・セットを含む入力を受信する。
ある実施例では、ルール検証システム１０３は、事前定義の１つ又は複数のルール・セットを含む入力をクラウド・データベース１０５から受信する。受信された１つ又は複数のルールは、１つ又は複数の事象に関連した対応する特性及び制約、並びにクラウド環境の１つ又は複数のトポロジに関連した情報に基づき定義された１つ又は複数の根本原因と１つ又は複数の事象の相関関係を示す。事前定義の１つ又は複数のルール・セットを含む入力内の１つ又は複数のルールは、静的検証技術を使用して事前検証される。
【００４９】
ブロック３０３において、クラウド環境の１つ又は複数のトポロジに関連した情報及び１つ又は複数のユーザ入力を動的に受信する。ある実施例では、ルール検証システム１０３は、クラウド・データベース１０５から引き出された、クラウド環境の１つ又は複数のトポロジに関連した情報を受信する。別の実施例では、ルール検証システム１０３は、事前定義の１つ又は複数のルール・セットを含む入力内で検出された誤りを訂正するために１つ又は複数のユーザ入力を受信する。
【００５０】
ブロック３０５において、１つ又は複数の特性パラメータに基づいて事前定義の１つ又は複数のルール・セット含む入力を検証する。ある実施例では、ルール検証システム１０３は、事前定義の１つ又は複数のルール・セット及びクラウド環境の１つ又は複数のトポロジに関連した情報を含む入力の１つの適合性を１つ又は複数の特性パラメータで決定するために、クラウド環境の１つ又は複数のトポロジに関連した情報及び１つ又は複数のユーザ入力を有する事前定義の１つ又は複数のルール・セットを含む入力を検証する。１つ又は複数の特性パラメータは、クラウド環境の１つ又は複数のトポロジに関連した情報に従った１つ又は複数のルールに関連した、完全性、不完全性、正確性、不正確性、整合性、不整合性、冗長性、満足度、及び非満足度を含むが、これらに限定されない。ある実施例では、１つ又は複数のルールの正確性及び不正確性は、１つ又は複数のルールが、図２ｂ及び図２ｃを使用して上記に説明されたように、クラウド環境の１つ又は複数のトポロジに関連した情報に従って正しく定義されているか否かを確認し、且つ、クラウド環境の１つ又は複数のトポロジ内の連結パスが、正しく確立されているか否かを検査するために検証される。連結パスが正しくない場合、演繹された根本原因もまた正しくない。ある実施例では、１つ又は複数のルールの冗長性は、図２ｄを使用して上記に説明されたように、同一の根本原因という結果となる冗長である１つ又は複数のルールが存在するかどうかを検査するために検証される。このような場合には、１つ又は複数の冗長なルールは、削除され得る。ある実施例では、１つ又は複数のルールの完全性及び不完全性は、１つ又は複数の資源構成要素の１つから通過され得る、１つ又は複数の資源構成要素のすべてが、図２ｅを使用して上記に説明されたように１つ又は複数のルール内に包含されているかどうかを検査するために検証される。さらに、１つ又は複数のルールはまた、クラウド環境の１つ又は複数のトポロジに関連した情報に従って整合性、不整合性、及び矛盾を検査するために検証される。１つ又は複数のルールは、２つの異なる根本原因が、同一の事象のセットに対して存在する場合に、不整合であることになる。さらに、事前定義の１つ又は複数のルール・セット及びクラウド環境の１つ又は複数のトポロジに関連した情報を含む入力中の複雑性に起因して、クラウド環境の１つ又は複数のトポロジに関連した情報に従った１つ又は複数のルール内に閉路及び自己ループが発生している可能性がある。１つ又は複数のルールは、１つ又は複数のルール内に定義された条件に対応した１つ又は複数の資源構成要素間の連結パスが失われている場合、クラウド環境の１つ又は複数のトポロジに関連した情報と矛盾していることになる。１つ又は複数のパラメータに対応して検出された障害は、２つの実施例の少なくとも１つにより修正される。ある実施例では、１つ又は複数のルールは、クラウド環境の１つ又は複数のトポロジに関連した情報に従って修正される。別の実施例では、クラウド環境の１つ又は複数のトポロジは、１つ又は複数のルール内に定義された条件に関して修正される。ブロック３０７において、検証報告を生成する。ある実施例では、ルール検証システム１０３は、検証報告を生成する。検証報告は、１つ又は複数のルールの検証結果セット出力、検証結果セット出力の１つ又は複数のルールのそれぞれに対応する検証状態情報及び検証結果セット出力に対して決定された検証スコアを含む。検証結果セット出力の検証状態は、整合、不整合、冗長、正確、不正確、満足度、及び非満足度の少なくとも１つを示す。検証スコアは、１つ又は複数のルールの総数中の正確及び不正確なルールの数を決定する。
【００５１】
図４は、本開示と整合した実施例を実装するための例示的コンピュータ・システムのブロック図である。
【００５２】
コンピュータ・システム４０１の変形は、本開示の機能を実装するために利用され得るすべてのコンピューティング・システムを実装するために使用され得る。コンピュータ・システム４０１は、中央処理装置（「ＣＰＵ」又は「プロセッサ」）４０３を含むことができる。プロセッサ４０３は、ユーザ又はシステム生成リクエストを実行するためのプログラム・コンポーネントを実行するための少なくとも１つのデータプロセッサを含むことができる。プロセッサ４０３は、統合システム（バス）コントローラ、メモリ管理制御装置、浮動小数点演算装置、グラフィック処理装置、ディジタル信号処理装置などといった特定目的の処理装置を含むことができる。プロセッサ４０３は、ＡＭＤ社のＡｔｈｌｏｎ、Ｄｕｒｏｎ又はＯｐｔｅｒｏｎ、ＡＲＭ社のアプリケーション、組み込み又はセキュア・プロセッサ、ＩＢＭ社のＰｏｗｅｒＰＣ、Ｉｎｔｅｌ社のＣｏｒｅ、Ｉｔａｎｉｕｍ、Ｃｅｌｅｒｏｎ、又は他の系列のプロセッサなどといったマイクロプロセッサを含むことができる。プロセッサ４０３は、メインフレーム、分散型処理装置、マルチコア、並列、グリッド又は他のアーキテクチャを使用して実装され得る。いくつかの実施例は、特定用途向け集積回路（ＡＳＩＣ）、ディジタル・シグナル・プロセッサ（ＤＳＰ）、フィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ）などのような組み込み型技術を利用することができる。
【００５３】
プロセッサ４０３は、Ｉ／Ｏインターフェイス４０５を介して１つ又は複数の入出力（Ｉ／Ｏ）デバイスとの通信に配置され得る。Ｉ／Ｏインターフェイス４０５は、限定されないが、音声、アナログ、ディジタル、モノラル、ＲＣＡ、ステレオ、ＩＥＥＥ−１３９４、シリアル・バス、ユニバーサル・シリアル・バス（ＵＳＢ）、赤外線、ＰＳ／２、ＢＮＣ、同軸、コンポーネント、コンポジット、ディジタル・ビジュアル・インターフェイス（ＤＶＩ）、高精細度マルチメディア・インターフェイス（ＨＤＭＩ（登録商標））、ＲＦアンテナ、Ｓ−Ｖｉｄｅｏ、ＶＧＡ、ＩＥＥＥ８０２．ｎ  ／ｂ／ｇ／ｎ／ｘ  、Ｂｌｕｅｔｏｏｔｈ（登録商標）、セルラ（例えば、符号分割多元接続（ＣＤＭＡ）、高速パケット・アクセス（ＨＳＰＡ＋）、グローバル・システム・フォア・モバイル・コミュニケーション（ＧＳＭ（登録商標））、ロング・ターム・エボリューション（ＬＴＥ）、ＷｉＭａｘなど）といった通信プロトコル／方法を用いることができる。
【００５４】
Ｉ／Ｏインターフェイス４０５を使用して、コンピュータ・システム４０１は、１つ又は複数のＩ／Ｏデバイスと通信することができる。例えば、入力デバイス４０７は、アンテナ、キーボード、マウス、ジョイスティック、（赤外線）リモート・コントロール、カメラ、カード・リーダ、ＦＡＸ装置、ドングル、生体認証リーダ、マイクロフォン、タッチ・スクリーン、タッチパッド、トラックボール、センサ（例えば、加速度計、光センサ、ＧＰＳ、ジャイロスコープ、近接センサなど）、スタイラス、スキャナ、記憶装置、トランシーバ、ビデオ装置／ソース、バイザなどであり得る。出力デバイス４０９は、プリンタ、ファックス装置、ビデオ・ディスプレイ（例えば、ブラウン管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、発光ダイオード（ＬＥＤ）、プラズマなど）、オーディオ・スピーカなどであり得る。いくつかの実施例では、トランシーバ４１１は、プロセッサ４０３に関連して配置され得る。トランシーバは、様々な形式の無線送信又は受信を容易にすることができる。例えば、トランシーバは、ＩＥＥＥ８０２．１１ａ／ｂ／ｇ／ｎ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＦＭ、全地球測位システム（ＧＰＳ）、２Ｇ／３Ｇ  ＨＳＤＰＡ／ＨＳＵＰＡ通信などを提供する、トランシーバ・チップ（例えば、Ｔｅｘａｓ  Ｉｎｓｔｒｕｍｅｎｔｓ社のＷｉＬｉｎｋ  ＷＬ１２８３、Ｂｒｏａｄｃｏｍ社のＢＣＭ４７５０ＩＵＢ８、Ｉｎｆｉｎｅｏｎ  Ｔｅｃｈｎｏｌｏｇｉｅｓ社のＸ−Ｇｏｌｄ  ６１８−ＰＭＢ９８００など）に動作可能に接続されるアンテナを含むことができる。
【００５５】
いくつかの実施例では、プロセッサ４０３は、ネットワーク・インターフェイス４１３を介して通信ネットワーク４１５との通信に配置され得る。ネットワーク・インターフェイス４１３は、通信ネットワーク４１５と通信することができる。ネットワーク・インターフェイス４１３は、限定されないが、直接接続、イーサネット（登録商標）（例えば、撚り線対１０／４０／４００  Ｂａｓｅ  Ｔ）、伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ）、トークン・リング、ＩＥＥＥ８０２．１１ａ／ｂ／ｇ／ｎ／ｘ、などを含む接続プロトコルを用いることができる。通信ネットワーク４１５は、限定することなく、直接相互接続、ローカル・エリア・ネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、（例えば、無線アプリケーション・プロトコルを使用する）無線ネットワーク、インターネットなどを含むことができる。ネットワーク・インターフェイス４１３及び通信ネットワーク４１５を使用して、コンピュータ・システム４０１は、デバイス４１７、４１９及び４２１と通信することができる。これらのデバイスは、限定することなく、パーソナル・コンピュータ、サーバ、ファックス装置、プリンタ、スキャナ、携帯電話機といった様々なモバイル装置、スマートフォン（例えば、Ａｐｐｌｅ社のｉＰｈｏｎｅ（登録商標）、Ｂｌａｃｋｂｅｒｒｙ、Ａｎｄｒｏｉｄ型の電話機など）、タブレット・コンピュータ、ｅＢｏｏｋリーダ（Ａｍａｚｏｎ社のＫｉｎｄｌｅ、Ｎｏｏｋなど）、ラップトップ・コンピュータ、ノートブック、ゲーム・コンソール（Ｍｉｃｒｏｓｏｆｔ社のＸｂｏｘ、ニンテンドーＤＳ、Ｓｏｎｙ社のＰｌａｙＳｔａｔｉｏｎなど）などを含むことができる。いくつかの実施例では、コンピュータ・システム４０１それ自身が、これらの装置の１つ又は複数を具現化する。
【００５６】
いくつかの実施例では、プロセッサ４０３は、記憶装置インターフェイス４２３を介して１つ又は複数のメモリ・デバイス（例えば、ＲＡＭ４２５、ＲＯＭ４２７など）との通信に配置され得る。記憶装置インターフェイスは、シリアル・アドバンスド・テクノロジー・アタッチメント（ＳＡＴＡ）、インテグレーテッド・ドライブ・エレクトロニクス（ＩＤＥ）、ＩＥＥＥ−１３９４、ユニバーサル・シリアル・バス（ＵＳＢ）、ファイバ・チャネル、スモール・コンピュータ・システム・インターフェイス（ＳＣＳＩ）などの接続プロトコルを用いて、メモリ・ドライブ、可換型ディスク・ドライブなどを、限定することなく、含むメモリ・デバイスに接続され得る。メモリ・ドライブはさらに、ドラム、磁気ディスク・ドライブ、光磁気ドライブ、光ドライブ、レイド（ＲＡＩＤ）、半導体メモリ・デバイス、半導体ドライブなどを含むことができる。
【００５７】
メモリ４２９は、限定することなく、オペレーティング・システム４３１、ユーザ・インターフェイス・アプリケーション４３３、ｗｅｂブラウザ４３５、メール・サーバ４３７、メール・クライアント４３９、ユーザ／アプリケーション・データ４４１（例えば、本開示の中で説明される任意のデータ変数又はデータ・レコード）などを含む、プログラム又はデータベース・コンポーネントの集合を格納することができる。オペレーティング・システム４３１は、コンピュータ・システム４０１の資源管理及び動作を容易にすることができる。オペレーティング・システムの実例は、限定することなく、Ａｐｐｌｅ社のＭａｃｉｎｔｏｓｈ  ＯＳ  Ｘ、ＵＮＩＸ（登録商標）、Ｕｎｉｘ（登録商標）系システム・ディストリビューション（例えば、Ｂｅｒｋｅｌｅｙ版ソフトウェア・ディストリビューション（ＢＳＤ）、ＦｒｅｅＢＳＤ、ＮｅｔＢＳＤ、ＯｐｅｎＢＳＤなど）、Ｌｉｎｕｘ（登録商標）ディストリビューション（例えば、Ｒｅｄ  Ｈａｔ、Ｕｂｕｎｔｕ、Ｋｕｂｕｎｔｕなど）、ＩＢＭ社のＯＳ／２、Ｍｉｃｒｏｓｏｆｔ社Ｗｉｎｄｏｗｓ（登録商標）（ＸＰ、Ｖｉｓｔａ／７／８など）、Ａｐｐｌｅ社のｉＯＳ、Ｇｏｏｇｌｅ社のＡｎｄｒｏｉｄ、Ｂｌａｃｋｂｅｒｒｙ  ＯＳなどを含む。ユーザ・インターフェイス４３３は、テキスト又はグラフィック気筒を通じてプログラム・コンポーネントの表示、実行、対話、操作又は運転を容易にすることができる。例えば、ユーザ・インターフェイスは、カーソル、アイコン、チェック・ボックス、メニュー、スクローラ、ウインドウ、ウィジェットなどといった、コンピュータ・システム４０１に動作可能に接続されたディスプレイ・システム上のコンピュータ対話インターフェイス要素を提供することができる。限定することなく、Ａｐｐｌｅ社のＭａｃｉｎｔｏｓｈオペレーティング・システムのＡｑｕａ、ＩＢＭ社のＯＳ／２、Ｍｉｃｒｏｓｏｆｔ社のＷｉｎｄｏｗｓ（登録商標）（例えば、Ａｅｒｏ、Ｍｅｔｒｏなど）、Ｕｎｉｘ（登録商標）  Ｘ−Ｗｉｎｄｏｗｓ（登録商標）、ｗｅｂインターフェイス・ライブラリー（例えば、ＡｃｔｉｖｅＸ、Ｊａｖａ（登録商標）、Ｊａｖａｓｃｒｉｐｔ（登録商標）、ＡＪＡＸ、ＨＴＭＬ、Ａｄｏｂｅ社のＦｌａｓｈなど）などを含む、グラフィカル・ユーザ・インターフェイス（ＧＵＩ）が用いられ得る。
【００５８】
いくつかの実施例では、コンピュータ・システム４０１は、プログラム・コンポーネントを格納したｗｅｂブラウザ４３５を実装することができる。ｗｅｂブラウザは、Ｍｉｃｒｏｓｏｆｔ  Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ、Ｇｏｏｇｌｅ  Ｃｈｒｏｍｅ、Ｍｏｚｉｌｌａ  Ｆｉｒｅｆｏｘ、Ａｐｐｌｅ  Ｓａｆａｒｉなどの、ハイパーテキスト閲覧アプリケーションであり得る。安全なｗｅｂ閲覧は、ＨＴＴＰＳ（セキュア・ハイパーテキスト転送プロトコル）、セキュア・ソケット・レイヤ（ＳＳＬ）、トランスポート・レイヤ・セキュリティ（ＴＬＳ）などを使用して提供され得る。ｗｅｂブラウザは、ＡＪＡＸ、ＤＨＴＭＬ、Ａｄｏｂｅ社のＦｌａｓｈ、ＪａｖａＳｃｒｉｐｔ（登録商標）、Ｊａｖａ（登録商標）、アプリケーション・プログラミング・インターフェイス（ＡＰＩ）などといった、機能を利用することができる。いくつかの実施例では、コンピュータ・システム４０１は、プログラム・コンポーネントを格納したメール・サーバ４３７を実装することができる。メール・サーバは、Ｍｉｃｒｏｓｏｆｔ  Ｅｘｃｈａｎｇｅなどの、インターネット・メール・サーバであり得る。メール・サーバは、ＡＳＰ、ＡｃｔｉｖｅＸ、ＡＮＳＩ  Ｃ＋＋／Ｃ＃、Ｍｉｃｒｏｓｏｆｔ社の．ＮＥＴ、ＣＧＩスクリプト、Ｊａｖａ（登録商標）、ＪａｖａＳｃｒｉｐｔ（登録商標）、ＰＥＲＬ、ＰＨＰ、Ｐｙｔｈｏｎ、ＷｅｂＯｂｊｅｃｔｓなどといった、機能を利用することができる。メール・サーバは、インターネット・メッセージ・アクセス・プロトコル（ＩＭＡＰ）、メッセージング・アプリケーション・プログラミング・インターフェイス（ＭＡＰＩ）、Ｍｉｃｒｏｓｏｆｔ  Ｅｘｃｈａｎｇｅ、ポスト・オフィス・プロトコル（ＰＯＰ）、シンプル・メール転送プロトコル（ＳＭＴＰ）などといった、通信プロトコルを利用することができる。いくつかの実施例では、コンピュータ・システム４０１は、プログラミング・コンポーネントを格納したメール・クライアント４３９を実装することができる。メール・クライアントは、Ａｐｐｌｅ  Ｍａｉｌ、Ｍｉｃｒｏｓｏｆｔ  Ｅｎｔｏｕｒａｇｅ、Ｍｉｃｒｏｓｏｆｔ  Ｏｕｔｌｏｏｋ、Ｍｏｚｉｌｌａ  Ｔｈｕｎｄｅｒｂｉｒｄなどといった、メール閲覧アプリケーションであり得る。
【００５９】
いくつかの実施例では、コンピュータ・システム４０１は、本開示の中で説明したように、データ、変数、レコードなどといった、ユーザ／アプリケーション・データ４４１を格納することができる。このようなデータベースは、Ｏｒａｃｌｅ又はＳｙｂａｓｅなどの、フォールト・トレラント、リレーショナル、スケーラブル、セキュア・データベースとして実装され得る。代替として、このようなデータベースは、配列、ハッシュ、リンク・リスト、構造体、構造化テキスト・ファイル（例えば、ＸＭＬ）、表などの、標準化されたデータ構造を使用して、又はオブジェクト・オリエンテッド・データベース（例えば、ＯｂｊｅｃｔＳｔｏｒｅ、Ｐｏｅｔ、Ｚｏｐｅなど）として、実装され得る。このようなデータベースは、あるときには、本開示の中で上記に説明された様々なコンピュータ・システムの間で、統合され又は分散され得る。任意のコンピュータ又はデータベース・コンポーネントの構造及び動作が、任意の作業の組み合わせにおいて、結合され、統合され又は分散され得ることを理解されたい。
【００６０】
上記のように、モジュール２０５は、特に、特定の業務を実施する、又は特定の抽象データ形式を実装する、ルーチン、プログラム、オブジェクト、コンポーネント及びデータ構造を含む。モジュール２０５はまた、単一プロセッサ、ステート・マシーン、論理回路及び／又は動作命令に基づく信号を操作する任意の他のデバイス又はコンポーネントとして実装され得る。さらに、モジュール２０５は、１つ又は複数のハードウェア・コンポーネントにより、処理装置により実行されるコンピュータ読み取り可能な命令により、又はそれらの組み合わせにより実装され得る。
【００６１】
例示されたステップは、示された例示的実施例を説明するようになっており、且つ、進行中の技術的開発が、特定の機能が実施される態様を変化させることが予想されよう。これらの実例は、例示の目的で、且つ、限定するためではなく本明細書で提示されている。さらに、機能的ビルディング・ブロックの境界は、説明の簡便さのために本明細書で任意に定義されている。明示された機能及びそれらの関係が適切に実施される限り、代替の境界が定義され得る。（本明細書に説明された機能の等価、拡張、変形、偏差などを含む）代替方法は、本明細書に含まれる教示に基づき当技術分野の技術者には明らかであろう。このような代替方法は、開示された実施例の範囲と精神内にある。また、用語「含む」（「ｃｏｍｐｒｉｓｉｎｇ」、「ｈａｖｉｎｇ」、「ｃｏｎｔａｉｎｉｎｇ」及び「ｉｎｃｌｕｄｉｎｇ」）並びに他の類似の形式は、意味合いにおいて等価であることを意図されており、且つ、これらの用語の任意の１つに続く項目又は複数の項目が、これらの項目又は複数の項目の網羅的なリストであることを意味しない、又は列挙された項目又は複数の項目のみに限定されないことを意味する、非限定的なものである。本明細書で及び添付の特許請求の範囲で使用されるように、単数形「ａ」、「ａｎ」及び「ｔｈｅ」は、文脈で明確に別段の指示がない限り複数の参照を含むことにも留意されたい。
【００６２】
さらに、１つ又は複数のコンピュータ読み取り可能な記憶媒体は、本開示に整合した実施例の実装に利用され得る。コンピュータ読み取り可能な記憶媒体は、プロセッサにより読み取り可能な情報又はデータが、格納され得る、任意の形式の物理的メモリを指す。従って、コンピュータ読み取り可能な記憶媒体は、プロセッサに本明細書に記載された実施例に整合したステップ又は段階を実施させる命令を含む、１つ又は複数のプロセッサによる実行のための命令を格納することができる。用語「コンピュータ読み取り可能な媒体」は、有形の品目を含み、且つ搬送波及び過渡信号を除くこと、すなわち非一時的であることと理解されたい。実例は、ランダム・アクセス・メモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）、揮発性メモリ、不揮発性メモリ、ハードドライブ、ＣＤＲＯＭ、ＤＶＤ、フラッシュ・ドライブ、ディスク及び任意の他の公知の物理的記憶媒体を含む。
【００６３】
開示及び実例が、以下の特許請求の範囲により示される開示された実施例の真の範囲及び精神に従って、例示するのみと看做されることを意図している。
【符号の説明】
【００６４】
１０３  ルール検証システム
１０５  クラウド・データベース
１０７  障害原因解析システム
１０９  ネットワーク
１１１  処理装置
１１３  記憶装置
１１５  ルール検証モジュール
２０１  Ｉ／Ｏインターフェイス
２０３  データ
２０５  モジュール
２０７  ルール・データ
２０９  クラウド・トポロジ・データ
２１１  検証報告データ
２１３  ユーザ入力データ
２１５  他のデータ
２１７  受信モジュール
２１９  検証報告ジェネレータ・モジュール
２２１  表示モジュール
２２３  他のモジュール
２２７  サーバ１
２３１  ＩＰスイッチ
２３３  ストレージ・アレイ
２３８  ＦＣスイッチ
２３９  サーバ２
２４１  サーバ３
２４５  ＦＣスイッチ２
２４７  ＦＣスイッチ３
【図１】
0006360131.tif 000006
【図２ａ】
0006360131.tif 000007
【図２ｂ】
0006360131.tif 000008
【図２ｃ】
0006360131.tif 000009
【図２ｄ】
0006360131.tif 000010
【図２ｅ】
0006360131.tif 000011
【図２ｆ】
0006360131.tif 000012
【図２ｇ】
0006360131.tif 000013
【図３】
0006360131.tif 000014
【図４】
0006360131.tif 000015