(57)【特許請求の範囲】
【請求項１】
方法であって、
ポーリング・エンジンによってルートを決定する手順であって、前記決定されたルートはネットワークの複数のノードからなるクラスタ内の第１のノードを含む手順と、
前記ルートと第２のノードとの間に少なくとも一つのネットワーク依存関係を生成する手順であって、前記少なくとも一つの生成されたネットワーク依存関係は前記ネットワークのノード間の接続に相当し、前記少なくとも一つの生成されたネットワーク依存関係は前記ポーリング・エンジンから前記第２のノードまでの方向性をもった経路に相当する手順と、
前記第２のノードに対してポーリングする手順であって、前記ポーリング・エンジンと前記第２のノードとの間に生成された前記少なくとも一つの生成ネットワーク依存関係を介して行われる手順と、
前記第２のノードは到達不能であると判定する手順と、
前記到達不能な第２のノードの複数の親ノードのいずれも前記ポーリング・エンジンによって到達可能と判定されると、前記到達不能な第２のノードに関連する有効化されたアラートを生成する手順とを含むこと
を特徴とする方法。
【請求項２】
前記ルートを決定する手順は、ユーザ定義及び前記ポーリング・エンジンのローカル情報の少なくとも一つに基づいて前記ルートを決定する手順を含むこと
を特徴とする請求項１に記載の方法。
【請求項３】
少なくとも一つの手動で追加した依存関係を前記ポーリング・エンジンと前記第２のノードとの間に追加すること
を特徴とする請求項１に記載の方法。
【請求項４】
前記少なくとも一つの手動で追加した依存関係は、前記少なくとも一つの生成されたネットワーク依存関係よりも優先されること
を特徴とする請求項３に記載の方法。
【請求項５】
前記少なくとも一つの生成されたネットワーク依存関係は、前記少なくとも一つの手動で追加した依存関係と一致していること
を特徴とする請求項３に記載の方法。
【請求項６】
装置であって、
少なくとも一つのプロセッサと、
コンピュータ・プログラム・コードを含む少なくとも一つのメモリを含む装置であって、
前記少なくとも一つのメモリ及び前記コンピュータ・プログラム・コードは、前記少なくとも一つのプロセッサとともに、前記装置に少なくとも、
ルートを決定する手順であって、前記ルートはネットワークの複数のノードからなるクラスタ内の第１のノードを含む手順と、
前記ルートと第２のノードとの間の少なくとも一つの生成されたネットワーク依存関係を生成する手順であって、前記ネットワークのノード間の接続に相当し、前記少なくとも一つの生成されたネットワーク依存関係は、前記装置から前記第２のノードまでの方向性をもった経路に相当する手順と、
前記第２のノードに対してポーリングする手順であって、前記装置と前記第２のノードの間で生成された前記少なくとも一つのネットワーク依存関係を介して行われる手順と、
前記第２のノードは到達不能であると判定する手順と、
前記到達不能な第２のノードの複数の親ノードのいずれも前記装置によって到達可能であると判定された場合、前記到達不能な第２のノードに関連する有効化されたアラートを生成する手順とを実行させること
を特徴とする装置。
【請求項７】
前記ルートの決定手順は、ユーザ定義及び前記装置のローカル情報の少なくとも一つに基づいて前記ルートを決定する手順を含むこと
を特徴とする請求項６に記載の装置。
【請求項８】
少なくとも一つの手動で追加した依存関係を前記装置と前記第２のノードとの間に追加すること
を特徴とする請求項６に記載の装置。
【請求項９】
前記少なくとも一つの手動で追加した依存関係は、前記少なくとも一つの生成されたネットワーク依存関係よりも優先されること
と特徴とする請求項８に記載の装置。
【請求項１０】
前記少なくとも一つの生成されたネットワーク依存関係は、前記少なくとも一つの手動で追加した依存関係と一致していること
を特徴とする請求項８に記載の装置。
【請求項１１】
非一時的コンピュータ可読媒体上で具現化されるコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品はプロセッサを制御して方法を実行するように構成され、前記方法は、
ポーリング・エンジンによってルートを決定する手順であって、前記ルートはネットワークの複数のノードからなるクラスタ内の第１のノードを含む手順と、
前記ルートと第２のノードとの間の少なくとも一つの生成されたネットワーク依存関係を生成する手順であって、前記ネットワークのノード間の接続に相当し、前記少なくとも一つの生成されたネットワーク依存関係は、前記ポーリング・エンジンから前記第２のノードまでの方向性をもった経路に相当する手順と、
前記第２のノードに対してポーリングする手順であって、前記第２のノードに対するポーリングは前記ポーリング・エンジンと前記第２のノードの間で生成された前記少なくとも一つのネットワーク依存関係を介して行われる手順と、
前記第２のノードが到達不能であると判定する手順と、
前記到達不能な第２のノードの複数の親ノードのいずれかが前記ポーリング・エンジンによって到達可能であると判定された場合、前記到達不能な第２のノードに関連する有効化されたアラートを生成する手順とを含むこと
を特徴とするコンピュータ・プログラム製品。
【請求項１２】
前記ルートの決定手順は、ユーザ定義及び前記ポーリング・エンジンのローカル情報のうちの少なくとも一つに基づいて前記ルートを決定する手順を含むこと
を特徴とする請求項１１に記載のコンピュータ・プログラム製品。
【請求項１３】
少なくとも一つの手動で追加した依存関係を前記ポーリング・エンジンと前記第２のノードとの間に追加すること
を特徴とする請求項１１に記載のコンピュータ・プログラム製品。
【請求項１４】
前記少なくとも一つの手動で追加した依存関係は前記少なくとも一つの生成されたネットワーク依存関係より優先されること
を特徴とする請求項１３に記載のコンピュータ・プログラム製品。
【請求項１５】
前記少なくとも一つの生成されたネットワーク依存関係は前記少なくとも一つの手動で追加した依存関係と一致していること
を特徴とする請求項１３に記載のコンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、所与のネットワーク・トポロジに対してネットワーク依存関係を生成することに関する。
【背景技術】
【０００２】
ネットワーク・トポロジとは、ネットワーク内のネットワーク要素の配置を一般に記述するものである。ネットワークのネットワーク・トポロジは、ネットワーク要素の配置を表現することができ、前記ネットワーク要素には、装置の位置及び／又はネットワーク要素間の接続装置を含む。ネットワーク・トポロジはまた、ネットワーク内の異なるネットワーク要素間でデータが送信される方法を示すことができる。
【発明の概要】
【０００３】
第１の実施形態によると、１つの方法はポーリング・エンジンによってルートを決定する手順を含むことができる。前記ルートは、ネットワークの複数のノードからなるクラスタ内の第１のノードを含むことができる。該方法は同様に、前記ルートと第２のノードとの間に少なくとも一つのネットワーク依存関係を生成する手順を含むことができる。前記少なくとも一つの生成されたネットワーク依存関係は、前記ネットワークのノード間の接続に相当している。前記少なくとも一つの生成されたネットワーク依存関係は、前記ポーリング・エンジンから前記第２のノードまでの方向性をもった経路に相当している。該方法は同様に、前記第２のノードに対してする手順を含むことができる。前記第２のノードのポーリングは、前記ポーリング・エンジンと前記第２のノードとの間で生成された前記少なくとも一つの依存関係を介して行われる。該方法は同様に、前記第２のノードが到達不能であると判定する手順を含むことができる。該方法は同様に、前記第２のノードの複数の親ノードのいずれかが前記ポーリング・エンジンによって到達可能と判定された場合、前記到達不能な第２のノードに関連する有効化されたアラートを生成する手順を含むことができる。
【０００４】
前記第１の実施形態の該方法では、ルートを決定する手順はユーザ定義及び前記ポーリング・エンジンのローカル情報のうちの少なくとも一つに基づいてルートを決定する手順を含むことができる。
【０００５】
前記第１の実施形態の該方法では、少なくとも一つの手動で追加した依存関係が前記ポーリング・エンジンと前記第２のノードとの間に追加されている。
【０００６】
前記第１の実施形態の該方法では、前記少なくとも一つの手動で追加した依存関係は、少なくとも一つの自動で生成された依存関係よりも優先される。
【０００７】
前記第１の実施形態の該方法では、前記少なくとも一つの自動で生成された依存関係は前記少なくとも一つの手動で追加した依存関係と一致している。
【０００８】
第２の実施形態によれば、装置は少なくとも一つのプロセッサを含むことができる。前記装置は同様に、コンピュータ・プログラム・コードを含む少なくとも一つのメモリを含むことができる。前記少なくとも一つのメモリ及び前記コンピュータ・プログラム・コードは、前記少なくとも一つのプロセッサとともに、前記装置にルートの決定を少なくともさせるように構成することができる。前記ルートは、ネットワークの複数のノードからなるクラスタ内に第１のノードを含むことができる。前記装置に同様に、前記ルートと第２のノードとの間の少なくとも一つのネットワーク依存関係を生成させることができる。前記少なくとも一つの生成されたネットワーク依存関係は、前記ネットワークのノード間の接続に相当している。前記少なくとも一つの生成されたネットワーク依存関係は、前記装置から前記第２のノードまでの方向性をもった経路に相当している。前記装置に同様に、前記第２のノードに対してさせることができる。前記第２のノードのポーリングは、前記装置と前記第２のノードの間で生成された前記少なくとも一つのネットワーク依存関係を介して行われる。前記装置に同様に、前記第２のノードが到達可能であると判定させることができる。前記第２のノードの複数の親ノードのいずれかが前記装置によって到達可能であると判定された場合、前記装置に同様に、前記到達不能な前記第２のノードに関する有効化されたアラートを生成させることができる。
【０００９】
前記第２の実施形態の前記装置では、前記ルートを決定する手順はユーザ定義及び前記装置のローカル情報のうちの少なくとも一つに基づいて前記ルートを決定する手順を含むことができる。
【００１０】
前記第２の実施形態の前記装置では、少なくとも一つの手動で追加した依存関係が前記装置と前記第２のノードとの間に追加されている。
【００１１】
前記第２の実施形態の前記装置では、前記少なくとも一つの手動で追加した依存関係は、少なくとも一つの自動で生成された依存関係よりも優先される。
【００１２】
前記第２の実施形態の前記装置では、前記少なくとも一つの自動で生成された依存関係は、前記少なくとも一つの手動で追加した依存関係と一致している。
【００１３】
第３の実施形態によれば、コンピュータ・プログラム製品は非一時的なコンピュータ可読媒体上に具現化することができる。前記コンピュータ・プログラム製品は、ポーリング・エンジンによってルートを決定する手順を含む方法を実行するプロセッサを制御するように構成することができる。前記ルートは、ネットワークの複数のノードからなるクラスタ内の第１のノードを含むことができる。該方法は同様に、前記ルートと第２のノードとの間の少なくとも一つのネットワーク依存関係を生成する手順を含むことができる。前記少なくとも一つの生成されたネットワーク依存関係は、前記ネットワークのノード間の接続に相当し、かつ、前記ポーリング・エンジンから前記第２のノードまでの方向性をもった経路に相当している。該方法は同様に、前記第２のノードに対してする手順を含むことができる。前記第２のノードのポーリングは、前記ポーリング・エンジンと前記第２のノードとの間で生成された前記少なくとも一つのネットワーク依存関係を介して行われる。該方法は同様に、前記第２のノードが到達不能であると判定する手順を含むことができる。該方法は同様に、第２のノードの複数の親ノードのいずれかがポーリング・エンジンによって到達可能であると判定された場合、前記到達不能な第２のノードに関する有効化されたアラートを生成する手順を含むことができる。
【００１４】
前記第３の実施形態の前記コンピュータ・プログラム製品において、前記ルートを決定する手順は、ユーザ定義及び前記ポーリング・エンジンのローカル情報のうちの少なくとも一つに基づいてルートを決定する手順を含むことができる。
【００１５】
前記第３の実施形態の前記コンピュータ・プログラム製品において、少なくとも一つの手動で追加した依存関係が、前記ポーリング・エンジンと前記第２のノードとの間に追加された。
【００１６】
第３の実施形態のコンピュータ・プログラム製品において、前記少なくとも一つの手動で追加した依存関係は、少なくとも一つの自動で生成された依存関係より優先される。
【００１７】
前記第３の実施形態の前記コンピュータ・プログラム製品において、前記少なくとも一つの自動で生成された依存関係は、前記少なくとも一つの手動で追加した依存関係と一致している。
【図面の簡単な説明】
【００１８】
本発明の正しい理解のために、添付の図面を参照して頂きたい。
【００１９】
【図１】本発明の特定の実施形態による、ポーリング・エンジンを含む例示的なネットワーク・トポロジを示す図である。
【図２】本発明の特定の実施形態による、ポーリング・エンジンと複数のネットワーク・ノードとの間の経路を示す図である。
【図３Ａ】本発明の特定の実施形態による、中心ノード／ルート及びクラスタの依存関係を判定する手順を示す図である。
【図３Ｂ】特定の実施形態による、複数のノードからなる各クラスタ／グループに毎のルートを決定する手順を示す図である。
【図３Ｃ】特定の実施形態による、クラスタに対するルートを計算する例示的な手続きを示す図である。
【図３Ｄ】特定の実施形態による、ポーラーのローカル情報からルートを決定する手順を示す図である。
【図４】ユーザ定義の依存関係と一致してない依存関係を生成することを回避しながら、自動で依存関係を生成するプロセスを示す図である。
【図５】本発明の特定の実施形態による、生成された依存関係をテーブル内に保存する手順を示す図である。
【図６】本発明の特定の実施形態による、依存関係に相当しているエントリーを削除することを示す図である。
【図７】本発明の特定の実施形態による、自動で生成された依存関係をユーザが除外することを可能にするインターフェースを示す図である。
【図８】本発明の特定の実施形態による、自動で依存関係を生成する方法をユーザが有効又は無効にすることを可能にするインターフェースを示す図である。
【図９】本発明の特定の実施形態による、ユーザが設定し、かつ自動で生成された異なる依存関係をユーザが管理することを可能にするインターフェースの一例を示す図である。
【図１０】本発明の特定の実施形態による、例示的な依存関係のツリーを示す図である。
【図１１】本発明の特定の実施形態による、トポロジを計算し、自動依存関係を判定するプロセスを示す図である。
【図１２】本発明の特定の実施形態による、所与のポーラーに対するクラスタの依存関係を計算する手順を示す図である。
【図１３】本発明の特定の実施形態による、方法のフローチャートを示す図である。
【図１４】本発明の特定の実施形態による、装置を示す図である。
【図１５】本発明の特定の実施形態による、装置を示す図である。
【発明を実施するための形態】
【００２０】
本発明の特定の実施形態では、所与のネットワーク・トポロジのノード間の複数の依存関係を生成する方法及び装置を対象とすることができる。依存関係を生成する手順は一般的に、ネットワークの少なくとも２つのノード間の関係を決定及び／又は確認する手順を指す。その場合、一つのノードが少なくとも一つの他のノードに依存している。換言すれば、生成された依存関係は前記ネットワーク・トポロジ内のノード間の接続としてもよい。ネットワーク・トポロジとは一般的に、ネットワークの複数のノードが相互にどのように接続されているかを表現したものを指す。特定の実施形態により、ユーザによる追加の入力を必要とすることなく、所与のネットワーク・トポロジに対する複数の依存関係を自動で生成することができる。特定の実施形態によって、アルゴリズムを所与のネットワーク・トポロジに適用することによって前記複数の依存関係を自動で生成することができる。特定の実施形態では、複数の依存関係が前記クラスタ／グループの前記複数のノード間に存在する場合、ユーザは複数のノードからなるクラスタ／グループを定義してもよい。特定の実施形態は同様に、以降でより詳細に説明するように、複数のノードからなる各クラスタ／グループのルート・ノードの決定を対象とすることができる。特定の実施形態により、各クラスタ／グループ内の前記複数の依存関係を自動で生成することができ、かつ、生成された前記複数の依存関係内に不一致及び不整合が確実にないようにすることができる。
【００２１】
ポーリング・エンジン等のネットワーク装置は、前記ネットワーク内の複数のノードと通信することができる。ポーリング・エンジンは、前記ノードと通信して、例えば、前記ノードのステータスを判定し、前記ノードの動作特性を判定し、及び／又は前記ノードの可用性を判定することができる。依存関係が生成されると、前記生成された依存関係はポーリング・エンジンと関連ノードとの間の決定／決定された経路に相当することができる。前記ポーリング・エンジンは前記経路を用いて前記関連ノードに到達することができる。
【００２２】
図１は、ポーリング・エンジン１１０を含む例示的なネットワーク・トポロジ１００を示す図である。前述のように、ポーリング・エンジンは通常、ネットワーク装置がどのようなステータスであるかを判定するために前記ネットワーク装置のステータスのチェックを行う、及び／又は前記ネットワーク装置が依然として前記ネットワークと通信しているか否かのチェックを行う。前記ネットワーク・トポロジ１００は、複数のクラスタ（１５１、１５２、及び１５３）を含むことができる。各クラスタは、前記ネットワーク全体の異なる部分に相当することができる。一つのクラスタを本社クラスタとし、別のクラスタを支社のクラスタとしてもよい。特定の接続／装置が一目では分からない場合がある。例えば、点線１４０は本社と支社との間のネットワーク装置／接続がトポロジ１００内に表示されていないことを示している。ユーザは、本社と支社との間の前記ネットワーク装置にアクセスできないので、本社と支社との間の前記ネットワーク装置を前記ポーリング・エンジンによって監視することができない。サービス・プロバイダが前記のネットワーク装置を管理しているために、ユーザは本社と支社との間の前記ネットワーク装置にアクセスできない。ノードが各クラスタ内部で接続されているが、クラスタそのものの間に目に見える接続がない場合がある。
【００２３】
図２は、特定の実施形態による、複数のポーリング・エンジンと複数のネットワーク・ノードとの間の複数の経路を示す図である。前述のように、自動で複数の依存関係を生成する際に、生成プロセスによってポーリング・エンジンが辿る可能性のある経路を決定し、ネットワーク・ノードに到達することが可能となる。例えば、ポーリング・エンジン２１０は一つの経路を辿りノード２５０に到達することができる。所与のノードに到達するために異なるポーリング・エンジン（２１０、２２０）が辿る経路は異なっていてもよい。例えば、ノード２５０に到達するポーリング・エンジン２１０からの経路は、ノード２５０に到達するポーリング・エンジン２２０からの経路と異なっている。このようにして、特定の実施形態によって、各ネットワーク・ノードに到達する各ポーリング・エンジンに対する経路が決定される。
【００２４】
このようにして、ポーリング・エンジンと所与のノードとの間の経路を決定する際、（例えば、２つのノード間の）生成された各依存関係は、前記経路中の方向性をもったステップである可能性がある。一つのポーリング・エンジンから所与のネットワーク・ノードまで複数の経路があるかもしれない。
【００２５】
２つのノード間の依存関係の一つのタイプは、親ノードと子ノードとの関係であり、その場合、前記子ノードが前記親ノードに依存している。図２を改めて参照すると、親ノード２４０は複数の子ノード（ノード２５０及びノード２６０）を有している。万一、前記親ノード２４０がダウンした場合（その結果、親ノード２４０は前記ネットワークによって到達できない、または、前記ネットワークと通信できない）、前記ネットワークによって前記親ノード２４０の子ノード２５０は引き続きポーリングされることが可能である。つまり、ポーリング・エンジン２１０は依然として子ノード２５０との通信を試みることができる。子ノード２５０はまた、（親ノード２４０が実際にダウンしている結果、子ノード２５０はポーリング・エンジン２１０によって到達できないために）ダウンしているように見えるため、前記ポーリング・エンジンはネットワーク・アラートを有効化して子ノード２５０がダウンしていることを示す場合がある。前記ポーリング・エンジンは前記アラートを生成することができ、かつ、ユーザ・インターフェース（ＵＩ）により前記アラートをユーザに表示することができる。前記ユーザは、ウェブ・ブラウザ又は（例えば、アラート  セントラル等の）特殊なツールを利用してアラートを表示することができる。万一、ポーリング・エンジンが子ノード２５０に到達できない場合には、前記子ノードに関連付けされた複数の依存関係が調べられ、前記子ノードの複数の親ノード又は複数のグループが、前記複数の調べられた依存関係から得られる。次いで、前記子ノードの複数の親ノードがすべてダウンしている場合、特定の実施形態により前記ノード２５０のステータスは到達不能であると判定される。一つのノードのステータスがダウンに変化するとアラートが生成されるように構成されている場合、前述のように、前記ノード２５０のステータスが到達不能であると判定された場合、前記ポーリング・エンジンによってアラートは生成されない。前記複数の依存関係が決定されていない場合、前記ポーリング・エンジンがノード２５０に到達できない場合はいつでも、ノード２５０のステータスはダウンと見なされる。この条件の下、ノードのステータスがダウンに変化したときにアラートが生成されるように構成されている場合、前記アラートは前記ポーリング・エンジンによって生成される。
【００２６】
しかしながら、万一、前記該当の親ノードがダウンしていることが原因で子ノードが到達不能な場合には、問題は前記親ノードにあるので前記子ノードに関する有効化されたアラートは無視するべきである。特定の実施形態では、アラートの生成／有効化は２つの手順を含むことができる。第１の手順は、前記子ノードのノード・ステータスを判定する手順である。第２の手順は、アラートを生成する条件を満たした場合、前記アラートを生成する手順である。アラートの処理には少なくとも２つの方法がある。アラートを処理する第１の方法の場合、前記ユーザによって閲覧されることを意図したアラートだけが生成される。前記第１の方法の場合、上記で明示したように、ノード２５０はポーリング・エンジンによって到達することができず、かつ、ノード２５０の親ノードがすべてダウンしている場合、ノード２５０のノード・ステータスは到達不能である。従って、前記アラートの生成条件は、ダウンしているノード・ステータスなので、前記到達不能なノードに対してアラートは生成されない。ノード・ステータスが到達不能に変化すると、前記アラートの生成条件を満たさなくなるので、アラートは生成されない。アラートを処理する第２の方法の場合、前記アラートが最初に生成され、次いで、ユーザが前記生成されたアラートを閲覧すべきではない場合、すべての生成されたアラートは除外される。前記ポーリング・エンジンがノード２５０に到達できない場合にアラートを生成することが可能であり、次いで、別の処理がノード２５０の前記親ノードがすべてダウンしていることを示している場合、前記アラートは除外することが可能である。生成されたアラートのいくつかが除外される場合には、有効化されたアラートが前記ネットワークに大量に発生するのを回避するために、前記子ノードに関する有効化されたアラートは前記ポーリング・エンジンによって除外されるべきである。前記ポーリング・エンジンは同様に、前記子ノードに対してネットワーク・アラートを有効化するのを回避すべきである。
【００２７】
親ノードは、（例えばエッジ・ルータ等の）中央ノードとすることができる。前述のように、ネットワークの中央ノードがダウンしている場合、ポーリング・エンジンは前記ダウンした中央ノードの背後に構成される（つまり、依存するように構成される）前記複数のノードに到達と通信できない可能性がある。
【００２８】
前述のように、アラートが大量に発生するのを回避するために、前記ダウンした中央ノードの背後に構成された複数のノードに関する有効化されたアラートを前記ポーリング・エンジンは除外するべきである。このようにして、特定の実施形態により、前記中央ノードの背後に構成された前記複数のノードを識別することによって前記複数の依存ノードを最初に識別することができる。特定の実施形態により、次いで前記中央ノードの背後に構成された前記すべてのノードに対するアラートを生成するのではなく、前記中央ノードに対してのみアラートを生成することができる。
【００２９】
このことから、一つのノードが到達不能な場合、特定の実施形態により、前記ポーリング・エンジン（すなわち、前記到達不能なノードに割り当てられた前記ポーリング・エンジン）によって把握されている前記複数の依存関係に基づいて前記到達不能なノードの前記親ノードのすべてを決定することができる。
（前記ノードの）前記親のいずれかが、アップ（正常に動作している）／到達可能な場合、前記到達不能なノードのステータスは「ダウン」と見なされる。一方、前記親すべてがダウンしている場合、前記ノードのステータスは単に「到達不能」と見なされ、前記ノードに対してトリガーされたアラートは除外してよい。他の特定の実施形態の場合、前記親のすべてが到達不能なノードに対してダウンしている場合、アラートは前記到達な不能ノードに対して生成されない。
【００３０】
特定の実施形態により、要求に応じて、又は規則的な間隔に従って、ネットワーク依存関係を自動で生成するためにアルゴリズムを実行／実施することができ、前記生成された依存関係は更新される。特定の実施形態により同様に、前記ユーザは手動で依存関係を追加することが可能となる。依存関係の手動設定は、概して面倒であり、また、手動設定は通常、変化するネットワーク・トポロジに適切に相当することができないが、本発明の特定の実施形態により、手動設定を実装する効率的な方法を提供することができる。具体的には、特定の実施形態により、依存関係を自動で生成する機能を、ユーザが依存関係を設定する場合の機能と統合することができる。特定の実施形態の場合、ユーザ定義／ユーザ設定の依存関係は自動で生成された依存関係より優先することができる。
【００３１】
依存関係が生成されると、前述のように、特定の実施形態により、特定のアラートは抑制され、トポロジ・ベースの一つのグループが導出され、ノードの可用性が報告される。トポロジ・ベースのグループ導出に関して、ユーザは特定のノードに直接的又は間接的に（再帰的に）依存するすべてのノードを含むグループを定義したいと考えるかもしれない。自動で依存関係を定義する場合（すなわち、「ａｕｔｏ  ｄｅｐｅｎｄｅｎｃｙ」）、特定の実施形態により、前記特定のノードが親であるすべての依存関係を直接的又は再帰的に決定することができ、その際、前記複数の依存関係におけるすべての子は前記グループ内にある。ユーザは、前記グループへのアクセス許可を一つのアカウントに割当てる、又は、例えば、前記グループのステータスに基づいてアラート条件を定義することができる。これによって、前記ユーザは前記ノードレベルでなく前記グループレベルで前記ネットワーク装置を管理できるようになる。前述のように、前記生成された複数の依存関係は正しいノード・ステータス（すなわち、前記ノード・ステータスが「ダウン」、又は、単に「到達不能」のいずれかについて）を判定するために用いることができる。
【００３２】
特定の実施形態の複数のアルゴリズムは、複数のポーリング・エンジンともに一つのシナリオを処理することができる。
【００３３】
各ノードを異なるポーリング・エンジンに割り当てることができ、前記複数のノードと前記ポーリング・エンジンとの間の割当ては時間がたつにつれて変化することがある。いかなる時も、一つのノードは通常、単一のポーリング・エンジンに割り当てられている。ユーザが、所与のノードからのデータに対してポーリングするために、ノードを一つ以上のポーリング・エンジンに割り当てることは通常不可能である。別の時点で、前記ユーザは前記設定を変更し、他のポーリング・エンジンに前記所与のノードに対してさせることができる。
【００３４】
図３Ａは、特定の実施形態による、中央ノード／ルート、及びクラスタの依存関係を決定する手順を示す図である。トポロジ接続は、特定の実施形態の計算の入力とすることができ、また、前記自動で生成された依存関係は特定の実施形態の計算の出力とすることができる。特定の実施形態により、ノード・クラスタを決定することができ、その場合、クラスタ内の前記複数のノードは接続されている。特定の実施形態により、手順３１０で各クラスタの前記ルート・ノードが決定される。特定の実施形態により、各ポーリング・エンジンに対して各クラスタの前記ルート・ノードが決定される。前記ルート・ノードは、前記クラスタの他の複数のノードが依存している、例えば親ノード等の、一つのノードに相当することができる。次いで、前記ルート・ノードをＡｕｔｏＤｅｐｅｎｄｅｎｃｙＲｏｏｔ  ｔａｂｌｅ内に保存することができる。クラスタの前記ルート・ノードを決定するために、自動で依存関係を生成するプロセスにより、最初に特定のポーリング・エンジンに最も近いノードが決定され、次いで、前記ノードが前記クラスタの前記ルートと決定される。前記プロセスにより、次いで、前記決定されたルート・ノードを起点として各クラスタ内の依存関係を構築／生成することができる。言い換えれば、特定の実施形態により、前記クラスタ内の前記決定されたルート・ノードから前記他の複数のノードまでの経路を決定することができる。以下により詳細に説明するように、前記依存関係は次いで、Ｄｅｐｅｎｄｅｎｃｉｅｓ  ｔａｂｌｅ内に保存することができる。
【００３５】
手動で依存関係を設定することに関して、特定の実施形態により、ユーザは生成された依存関係の集まりに欠けている依存関係を追加することにより、依存関係を手動で調整することができる。特定の実施形態により同様に、誤っている自動生成の依存関係を修正することができる。例えば、前記トポロジ接続が何らかの理由で誤っている場合（例えば、ノード１はノード２に接続されていないが、トポロジ・データはノード１がノード２に接続していると示している場合）、自動で生成された依存関係は誤っている、又は前記依存関係の方向が誤っている可能性がある。前記ユーザは、ユーザ定義の依存関係を追加することによって誤りを修正することができる。ユーザは同様に、不要な依存関係を除外してもよい。特定の実施形態の場合、前記ユーザは前記自動生成処理によって実行される計算を調整することができる。つまり、（１）ユーザが設定した依存関係が自動で生成された依存関係よりも優先することができる、及び／又は、（２）前記ユーザが設定した依存関係と前記自動で生成されたエントリーとの間に循環する依存関係のループが形成されるのを回避することができる。循環依存ループは、同一系列の依存関係において各ノードが別のノードに依存している一続きの依存関係に相当している。
【００３６】
図３Ｂは、特定の実施形態による、複数のノードからなる各クラスタ／グループに対する複数のルートを決定する手順を示す図である。第１に、特定の実施形態により、複数のノードからなるグループ／クラスタを決定することができる。クラスタは、トポロジに基づいて相互に接続された複数のノードを含むことができる。一つのクラスタ内のあるノードと別のクラスタ内の別のノードとの間には、（前記トポロジが表すような）接続がない場合がある。第２に、特定の実施形態により、以下のプロセス（ルートが決定されるとすぐに、前記処理は停止することができる）に従って、各クラスタに対する前記ルートを決定することができる。特定の実施形態により、所与のクラスタに対するユーザ定義のルートを決定することができる。例えば、特定の実施形態により、Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ（ＡＲＰ）  ｔａｂｌｅからルートを取得することができる。特定の実施形態により同様に、ポーリング・エンジンのデフォルト・ゲートウェイから前記ルートを取得することができる。特定のクラスタの前記ルートを決定する際、特定の実施形態により、前記ポーリング・エンジンから前記クラスタ内のノードまでの経路を追跡することができる。前記ポーリング・エンジンに最も近いノードを前記クラスタの前記ルートと決定することができる。例えば、図１を参照すると、ポーラー１は本社内にあってもよく、特定の実施形態により、クラスタ「支社Ｂ」内にポーラー１に対する前記ルートを決定することができる。ポーラー１は、ノード１０への追跡経路を発行することができ、前記追跡経路は、「ポーラー１、ノード１、ノード２、ノード８、ノード９、ノード１０」を含むことができる。このように、ノード８はクラスタ「支社Ｂ」内からポーラー１に最も近いノードであるので、ノード８をクラスタ「支社Ｂ」内のポーラー１に対する前記ルートとすることができる。
【００３７】
図３Ｃは、特定の実施形態による、クラスタのルートを計算する例示的な手続きを示す図である。最初に、特定の実施形態により、ポーラーのリストからトポロジの前記複数のポーラーを決定することができる。次に、特定の実施形態により、前記ポーラーのリストから処理するポーラーを判定することができる。特定の実施形態により、前記クラスタ内に一つ以上のノードを有するクラスタに対してポーリングするポーラーを処理することができる。前記クラスタ内に前記ポーラーに対するユーザ定義のルートが存在する場合、前記ユーザ定義のルートは前記クラスタ内の前記ポーラーに対する前記ルートと決定することができる。ユーザ定義のルートが一つも存在しない場合、特定の実施形態により、前記ポーラーからのローカル情報を用いて前記クラスタのルートを決定することができる。前述のように、特定の実施形態により、追跡経路を用いて前記クラスタのルートを決定することができる。
【００３８】
図３Dは、特定の実施形態による、ポーラーのローカル情報からルートを決定する手順を示す図である。最初に、一つのポーラーに隣接する複数のノードを前記ポーラーのＡＲＰテーブルから決定することができる。次に、隣接する複数のノードが複数のポーラーに監視されている場合、特定の実施形態により、監視され、かつ他の監視されているノードと最も多く接続されている前記隣接するノードが決定される。前記隣接するノードは、前記ポーラーに対する前記ルートと見なすことができる。あるいは、一つのデフォルト・ゲートウェイが一つのポーラーに監視されている場合、前記デフォルト・ゲートウェイは前記ポーラーに対する前記ルートと見なすことができる。
【００３９】
図４は、ユーザ定義の依存関係と一致しない依存関係を生成されるのを回避しながら、自動で依存関係が生成されるプロセスを示す図である。万一、ユーザが、ノード４２０はノード４１０に依存している、と定義した場合、特定の実施形態の自動生成プロセスにより、前記ユーザ定義の依存関係が複製されるのが回避される。図４を参照して、ノード３がノード１の依存ノードとして確立されている（依存関係がノード３とノード１との間に確立されている）と仮定すると、特定の実施形態によりノード２とノード３との間の依存関係の生成が回避される。ノード２とノード３との間の依存関係は、ノード３がノード１との依存関係を介して既に到達可能であるために回避される。さらに、特定の実施形態の自動生成プロセスにより同様に、前記ユーザ定義の依存関係と一致しない依存関係の生成が回避される。例えば、図４を改めて参照して、ノード１がノード２に依存していると判定される場合、特定の実施形態により、ノード２がノード１に依存する依存関係の生成が回避される。
【００４０】
特定の実施形態により、循環依存ループが前記複数の依存関係内に確実に形成されないようにすることができる。特定の実施形態により同様に、単一経路内の一つのポーリング・エンジンに対して有用である／関連がある前記複数の依存関係のみを残すことによって生成される依存関係の数を最小にすることができる。単一経路は、前記複数の依存関係を生成し、依存関係の数を最小にするために、ノードが一度だけ処理されることを一般的に意味することができる。あるいは、前記複数の依存関係を生成するために前記所与のノードを最初に処理することを意味する。いったんすべてのノードに対して前記処理が行われると、同一のノードは再び処理され、有用でない依存関係が削除され、依存関係の数は最小にされる。あるいは、２つの経路が必要な場合があり、生成されたすべての依存関係をメモリに残すこと（その結果、多くのメモリが必要となる可能性がある）、又は前記生成された依存関係をデータベースに保存し、次いで、保存された依存関係を削除することが必要な場合がある。これによって、実質的な（大幅な）データベースの更新が行われ、パフォーマンスの問題を引き起こす可能性がある。単一経路の処理の詳細について以降で説明する。以降でより詳細に説明するように、依存関係は有用である／関連があると判定することができる。
【００４１】
ポーリング・エンジンを前記ポーリング・エンジンに割り当てられたノードに接続する経路内に依存関係がある場合、前記依存関係はポーリング・エンジンに有用である／関連があると判定される。前記依存関係の子（及び／又は前記依存関係の再帰的な子）がいずれも前記ポーリング・エンジンに割り当てられたノードでない場合、前記依存関係はポーリング・エンジンに有用でない／関連がないと判定される。前記依存関係が、前記ポーリング・エンジンに有用でない／関連がない場合、前記依存関係は安全に削除してもよい。ノードが割り当てられたポーリング・エンジンからのポーリング要求に前記ノードが応答しない場合、前記削除された依存関係を用いて、ダウンしている親が原因で前記ノードがダウン又は到達不能であるかを判定することはない。
【００４２】
それぞれの依存関係が生成される際、前記依存関係は有用であってもなくてもよい。ゆえに、生成された依存関係は前記依存関係の前記子のすべてが処理されるまで、又は前記子の一つが前記関連するポーリング・エンジンに割り当てられるまで保存する必要があるかもしれない。例えば、生成された依存関係はメモリ内に保持する必要があるかもしれない。生成された依存関係が有用であるか否かは、前記子のすべて（前記ポーリング・エンジンに割当てられた、前記依存関係の前記親ノードの子）が処理されるまで、又は前記子の一つが関連するポーリング・エンジンに割り当てられるまで、判明しない可能性がある。特定の実施形態により、前記ポーリング・エンジンに割り当てられた、前記クラスタ内のノードが処理された数を追跡することができ、かつ、特定の実施形態により、前記ポーリング・エンジンに割り当てられた、前記クラスタ内のノードの総数が分かるので、特定の実施形態により、親ノードの前記子のすべてがいつ処理されたかを判定することができる。依存関係の前記子のすべてが処理されると、特定の実施形態により、次いで、前記子のいずれかが所与のポーリング・エンジンに割り当てられているか否かを確認することができ、従って、前記依存関係が前記所与のポーリング・エンジンにまさに有用であるか否かを判定することができる。前記子の一つが前記関連するポーリング・エンジンに割り当てられていると判定されると、前記依存関係は有用であると判定することができる。前記依存関係の前記子のすべてが処理された場合、前記子のいずれも前記関連するポーリング・エンジンに割り当てられていないと判定され、次いで前記依存関係は有用でないと判定することができる。
【００４３】
このことから、特定の実施形態により、所与のポーリング・エンジンに対する前記依存関係をクラスタ内で計算／生成することができ、また、特定の実施形態により、前記クラスタ内に前記ルート・ノードを計算／生成することができる。
【００４４】
特定の実施形態により、将来の入力に基づいてフィルタリングを行うことができる。特定の実施形態により、レイヤ２とレイヤ３の経路を統合して前記ネットワークの実態に酷似している依存関係を生成することができる。レイヤ２接続は、複数のノードの接続方法についてレイヤ３より詳細に示しているが、ノードが連続していない。レイヤ３は複数のノードの接続方法についてレイヤ３より簡易的に示しているが、ノードがクラスタ内で連続している。例えば、図２においてレイヤ２接続は、ノード３がノード４に接続されていること、及びノード４がノード５に接続されていることを示している。前記レイヤ２接続は、ノード１とノード３の両方がルータであるので、ノード１がノード３に接続されていることを示していない。レイヤ３接続は、ノード４はスイッチでありレイヤ３接続において表示されていないので、ノード３がノード５に直接的に接続されていることのみを示している。ノード３からノード５までの実際の経路は、ノード３からノード４、さらにノード５までである。図１２は、レイヤ２接続とレイヤ３接続の両方を用いて経路全体を構築する方法を示している。
【００４５】
特定の実施形態により、前記ネットワークが不連続ネットワークである状況に自動で対処できる。不連続ネットワークは、一般的に、ユーザが完全にはアクセス／制御できないネットワークを指す。前記ネットワークの一部は、例えばサービス・プロバイダによって制御されることがあるので、前記ユーザは前記ネットワークの前記一部に完全にはアクセス／制御することができない。前記ネットワークが不連続ネットワークである状況に対処するために、特定の実施形態により、前述のように、各ポーリング・エンジン及び各クラスタに対するルートを見つけることができる。図５は、生成された依存関係をテーブル５１０内に保存する手順を示している。依存関係の自動生成が有効になると、依存関係（５１１、５１２、５１３、５１４等）を迅速に生成することができる。
前記新たに生成された依存関係は（例えば、Ｏｒｉｏｎ．Ｄｅｐｅｎｄｅｎｃｉｅｓ  ｔａｂｌｅ等の）テーブル５１０内に表示することができる。依存関係の自動生成が無効になると、以前に生成された依存関係が迅速にＯｒｉｏｎ．Ｄｅｐｅｎｄｅｎｃｉｅｓ  ｔａｂｌｅから削除することができる。依存関係の自動生成を無効又は有効のいずれかにするように設定が変更されると、設定の変更により監査イベントがトリガーされることがある。
【００４６】
図６は、本発明の特定の実施形態による、依存関係のエントリーを削除する手順を示す図である。特定の実施形態により、ユーザは自動で生成された前記依存関係を管理することができる。特定の実施形態により、前記ユーザは自動で生成された依存関係を編集することも削除することもできない場合がある。しかしながら、前記ユーザは特定の依存関係を除外してもよい。（エントリー６１１等の）除外されたエントリーは、Ｏｒｉｏｎ．Ｄｅｐｅｎｄｅｎｃｉｅｓ  ｔａｂｌｅ６１０から削除することができる。前記ユーザは、自動で生成されたエントリーを除外（Ｄｅｐｅｎｄｅｎｃｉｅｓ  ｔａｂｌｅに示さない）すべきか否かを判定することができる。例えば、前記ユーザは自動で生成されたエントリーに依存関係が存在しないことを知っている場合、自動で生成されたエントリーを除外することを決定することができる。例えば、前記ユーザは、ノード４がノード５に接続されていないと知っているが、前記トポロジが誤っていて、前記誤っているトポロジがノード４とノード５との間の接続を含んでいる場合がある。その後、Ａｕｔｏ  Ｄｅｐｅｎｄｅｎｃｙがエントリー６１１を生成すると、前記ユーザはエントリー６１１を除外することによって前記誤りを修正することができる。ノード４とノード５との間にノード５がノード４に依存していることを示す接続が存在しているが、実際にはノード４がノード５に依存している場合、前記ユーザは、（前記親がノード５で、前記子がノード４である）ユーザ設定の依存関係を追加することによって、前記誤りを修正することができる。エントリー６１１は、依存関係６１２と重複している依存関係に相当することができるので除外してもよい。除外された依存関係は、前記除外された依存関係に関連する前記複数のノードのステータスに影響しない。前記除外された依存関係は、例えば、図７のタブ「Ｍａｎａｇｅ  Ｉｇｎｏｒｅｄ  Ｄｅｐｅｎｄｅｎｃｉｅｓ」７３０の下に表示することができる。
【００４７】
図７は、自動で生成された依存関係をユーザが除外することを可能にするインターフェース７１０を示す図である。インターフェース７１０により、前記ユーザは依存関係を管理することができる。インターフェース７１０は、一つ以上の自動で生成された依存関係をユーザが除外することを可能にするウィンドウ７２０を含むことができる。
【００４８】
図８は、特定の実施形態による、自動で依存関係を生成する方法をユーザが有効又は無効にすることを可能にするインターフェース８１０を示す図である。特定の実施形態では、管理権限を有するユーザによって、自動で依存関係を生成するプロセスを有効または無効にすることができる。前記ユーザは、Ｐｏｌｌｉｎｇ  Ｓｅｔｔｉｎｇ  Ｐａｇｅ／  Ｍａｎａｇｅ  Ｄｅｐｅｎｄｅｎｃｉｅｓ  ｐａｇｅを介して前記機能を有効または無効にすることができる。
【００４９】
特定の実施形態では、前記ネットワーク・トポロジにより依存関係の自動生成が許容される場合、依存関係の自動生成を有効にすることができる。特定の実施形態により、ユーザは除外された自動生成の依存関係を削除することができる。しかしながら、前記除外された自動生成の依存関係を削除した結果、計算／生成処理を続いて実行すると、前記自動生成の依存関係が、Ｏｒｉｏｎ．Ｄｅｐｅｎｄｅｎｃｉｅｓ  ｔａｂｌｅに再び追加／列挙されることがあり、次いで、前記除外された自動生成の依存関係が再びアクティブになることがある。
【００５０】
特定の実施形態では、前記ユーザが前記自動生成の依存関係を除外する、又は前記ユーザが除外された自動生成の依存関係を削除すると、監査イベントが生成されることがある。前記監査イベントの一例は、前記アクションに対するイベントを作成し、前記イベントをイベント・ログに追加することに関する。ゆえに、前記ユーザはイベントを表示しログをとることで、前記依存関係を変更させた前記アクションを見つけることができる。したがって、前記アクションは履歴に記録することができ、後で監査することができる。
【００５１】
自動で依存関係を生成する機能に関して、以下の設定情報を下記のデータベースに保存することができる。まず、エントリーは自動で生成された機能が有効であるか否かを示すことができる。（「ＳＷＮｅｔＰｅｒＭｏｎ−Ｓｅｔｔｉｎｇｓ−ＡｕｔｏＤｅｐｅｎｄｅｎｃｙ」等の）前記エントリーは、有効又は無効にすることができる。
【００５２】
前記依存関係のそれぞれを、以下のパラメータの一部又は全部とともに保存することができる。各依存関係の一つのパラメータは「ＡｕｔｏＭａｎａｇｅｄ」パラメータとしてもよい。前記パラメータは、前記該当の依存関係／エントリーが自動で生成された（すなわち、パラメータは「ｔｒｕｅ」に設定されている場合）か、又は、前記該当の依存関係／エントリーが、ユーザにより／手動で定義された（すなわち、前記パラメータは「false」に設定されている場合）かを示すことができる。
【００５３】
各依存関係の別のパラメータは、「ＥｎｇｉｎｅＩＤ」パラメータであってもよい。前記パラメータは、前記依存関係が関連付けられている前記ポーリング・エンジンを示すことができる。特定の実施形態では、ユーザ定義の複数の依存関係をすべてのポーリング・エンジンに関連付けることができる。自動で生成された一つの依存関係は、通常一つのポーリング・エンジンに関連付けることができる。
【００５４】
各依存関係の別のパラメータは、「ｃａｔｅｇｏｒｙ」パラメータであってもよい。前記パラメータは、依存関係のタイプを示すことができる。
【００５５】
特定の他のパラメータをパフォーマンス上の理由から依存関係毎に追加することができる。前記他のパラメータは、「ＰａｒｅｎｔＥｎｔｉｔｙＴｙｐｅ」を含むことができ、前記「ＰａｒｅｎｔＥｎｔｉｔｙＴｙｐｅe」は依存関係の親ノードのエンティティ・タイプを示す。別のパラメータは、「ＰａｒｅｎｔＮｅｔＯｂｊｅｃｔＩＤ」を含むことができ、前記「ＰａｒｅｎｔＮｅｔＯｂｊｅｃｔＩＤ」は依存関係の親オブジェクトの識別子を示す。別のパラメータは、「ＣｈｉｌｄＥｎｔｉｔｙＴｙｐｅ」を含むことができ、前記「ＣｈｉｌｄＥｎｔｉｔｙＴｙｐｅ」は依存関係の子ノードのエンティティ・タイプを示す。別のパラメータは、「ＣｈｉｌｄＮｅｔＯｂｊｅｃｔＩＤ」を含むことができ、前記「ＣｈｉｌｄＮｅｔＯｂｊｅｃｔＩＤ」は依存関係の子オブジェクトの識別子を示す。
【００５６】
特定の実施形態では、新しいテーブルは、「ＡｕｔｏＤｅｐｅｎｄｅｎｃｙＲｏｏｔ」テーブルであってもよい。前記テーブルは、依存関係を計算する際に用いることができる。前記テーブルは、各ポーリング・エンジン及びクラスタ毎に計算される前記ルート・ノードを含むことができる。特定の実施形態はまた、「ＤｅｌｅｔｅｄＡｕｔｏＤｅｐｅｎｄｅｎｃｉｅｓ」テーブルを含むことができる。前記テーブルは、除外された自動生成依存関係を含むことができる。
【００５７】
図９は、ユーザにより設定された、及び、自動で生成された、異なる依存関係をユーザが管理することを可能にする例示的なインターフェース９１０を示す図である。インターフェース９１０の各エントリー９１１、９１２、９１３は、異なる依存関係に相当することができる。ポップアップ・ウィンドウ９１５は、各依存関係の各依存ノードの動作特性／可用性を示すことができる。
【００５８】
図１０は、例示的な依存関係ツリーを示す図である。特定の実施形態では、ユーザは可視化された依存関係ツリーを用いて生成された依存関係を表示することができる。前記ユーザは、次いで自動で生成された依存関係のいくつかを除外するべきか否かを判定することができる。例示的な依存関係ツリーの各エントリーは、一つの依存関係に相当することができ、各エントリーは前記依存関係の名称／識別子、前記依存関係の親ノード、及び前記依存関係の子ノードを含むことができる。
【００５９】
図１１は、本発明の特定の実施形態による、トポロジを計算し、自動依存関係を決定するプロセスを示す図である。手順１で、ユーザは（例えば、オンデマンド計算等の）計算をトリガーすることができる、又は、タイマーが（例えば、周期計算等の）計算をトリガーすることができる。手順２で、トポロジを計算することができ、トポロジ接続をＴｏｐｏｌｏｇｙ  Ｃｏｎｎｅｃｔｉｏｎｓ  ｔａｂｌｅに保存することができる。手順３で、依存関係を手順２から生成されたトポロジ接続に基づいて自動で計算することができる。
【００６０】
図１２は、本発明の特定の実施形態による、所与のポーラーに対してクラスタの依存関係を計算する手順を示す図である。前述のように、特定の実施形態により、レイヤ２及びレイヤ３の経路を統合し、前記実際のネットワークに酷似した依存関係を生成することができる。図１２は、所与のポーリング・エンジン及びクラスタに対する処理の流れを示しており、また、ポーリング・エンジンからクラスタ内のすべてのノードまでの一本の経路を形成する詳細な複数の依存関係を生成するためのレイヤ２及びレイヤ３接続の結合方法を示している。計算は、所与のポーリング・エンジンに対するクラスタのルートから開始される。ルートに直接接続しているすべてのノードは、ルートの子である。レイヤ２接続を利用した依存関係が、まずＮ個のステップ（例えば、Ｎの初期値は３ステップとすることができる）毎に再帰的に計算される。その後、レイヤ３接続を利用した依存関係が計算される。ノードがレイヤ２由来の依存関係によって到達可能な場合、このノードに到達するためにレイヤ３から依存関係は得られない。例えば、図２において、レイヤ２接続に基づいて、ノード３は子ノード４（ＡｕｔｏＤｅｐ-1-3-4-2）を有し、ノード４は子ノード５（ＡｕｔｏＤｅｐ-1-4-5-3）を有する。また、レイヤ３接続に基づいて、ノード３は子ノード５を有する（ＡｕｔｏＤｅｐ-1-3-5-2、この依存関係は、ポーリング・エンジンがレイヤ２由来の依存関係を利用してノード４を介してノード５に到達することができるので除外することができる）。レイヤ２はレイヤ３よりもより詳細に結合性を説明しているので、レイヤ２の依存関係はレイヤ３の依存関係より優先することができる。
【００６１】
前記ポーラーに対して処理されたノードの数を確認する条件が、前記ポーリング・エンジンに割り当てられたすべてのノードが処理された場合の依存関係の最小化を目指し、有用な依存関係がそれ以上生成されないようにできるだろう。
【００６２】
図１３は、本発明の特定の実施形態による、１つの方法のフローチャートを示す図である。図１３に示す方法は、手順１３１０でポーリング・エンジンによりルートを決定する手順を含む。前記ルートは、ネットワークの複数のノードからなるクラスタ内の第１のノードを含む。該方法は同様に、手順１３２０で、前記ルートと第２のノードとの間の少なくとも一つのネットワーク依存関係を生成する手順を含む。前記少なくとも一つの生成されたネットワーク依存関係は、前記ネットワークのノード間の接続に相当している。前記少なくとも一つの生成されたネットワーク依存関係は、前記ポーリング・エンジンから前記第２のノードまでの方向性をもった経路に相当している。該方法は同様に、手順１３３０で、前記第２のノードに対してする手順を含む。ポーリングは、前記ポーリング・エンジンと前記第２のノードとの間で生成された前記少なくとも一つのネットワーク依存関係を介して行われる。該方法は同様に、手順１３４０で前記第２のノードが到達不能であると判定する手順を含む。特定の実施形態では、前記ポーリング・エンジンがリクエストを送出した後、タイムアウト発生前に応答を受信しない場合、前記ポーリングされた第２のノードは到達不能と判定することができる。該方法は同様に、手順１３５０で前記第２のノードの前記親ノードのいずれかが前記ポーリング・エンジンによって到達可能と判定された場合、前記到達不能な第２のノードに関連する有効化されたアラートを生成する手順を含む。特定の実施形態により、前記第２のノードの前記親ノードがいずれも到達不能である場合、前記ポーリングされ到達不能であると判定されたノードに関連するアラートは生成されない。
【００６３】
図１４は、本発明の特定の実施形態による装置を示す図である。一つの実施形態では、該装置は、例えばポーリング・エンジンの機能を実行するように構成されるネットワーク・ノードとすることができる。ポーリング・エンジンはサーバ上にあってもよい。ポーリング・エンジンはネットワーク装置であってもあってもなくてもよい。ポーリング・エンジンはエンド・ホストであってもよい。ポーリング・エンジンはネットワーク依存関係を決定する機能を実行してもよい。システム内に複数のポーリング・エンジンがある場合、いったん一つのポーリング・エンジンにシステム全体のトポロジが与えられると、前記一つのポーリング・エンジンだけでシステム全体の依存関係を計算する必要がある可能性がある。
【００６４】
図１４に示す該装置により、図１３に示す該方法を少なくとも実行することができる。装置１０は、情報を処理し、命令又は操作を実行するプロセッサ２２を含むことができる。プロセッサ２２は、任意のタイプの汎用又は特定用途のプロセッサとすることができる。図１４には単一プロセッサ２２が示されているが、複数のプロセッサを他の実施形態に従って使用することができる。プロセッサ２２は、また、例えば、一つ以上の汎用コンピュータ、特定の用途のコンピュータ、マイクロ・プロセッサ、デジタル信号プロセッサ（ＤＳＰｓ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡｓ）, 特定用途向け集積回路(ＡＳＩＣｓ)、及びマルチコア・プロセッサ・アーキテクチャに基づく複数のプロセッサを含むことができる。
【００６５】
装置１０はさらに、プロセッサ２２によって実行することが可能な情報及び命令を格納するためのプロセッサ２２に結合されたメモリ１４を含むことができる。メモリ１４は、一つ以上のメモリとすることができ、かつ、ローカル・アプリケーション環境に適した任意のタイプのメモリとすることができる。また、メモリ１４は、任意の適切な揮発性又は不揮発性のデータ記憶技術を用いて実現することができる。このデータ記憶技術には、例えば、半導体製の記憶装置、磁気記憶装置及びシステム、光学記憶装置及びシステム、固定された記憶装置及び取り外し可能な記憶装置などがある。例えば、メモリ１４としては、ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリー・メモリー（ＲＯＭ）、磁気又は光ディスク等の静的記憶装置、又は、他の任意のタイプの非一時的な機械又はコンピュータ可読媒体の任意の組み合わせが含まれる。メモリ１４に格納された命令には、プログラム命令又はコンピュータ・プログラム・コードがあり、プロセッサ２２によって実行されるとき、前記装置１０が本明細書に記載したようなタスクを実行することを可能とする。
【００６６】
装置１０は、また、装置１０に対する及び装置１０からの信号及び／又はデータを送受信するための一つ以上のアンテナ（図示せず）を含むことができる。装置１０は、さらに、前記アンテナ（単数又は複数）によって送信するために情報を搬送波に変調し、かつ、前記アンテナ（単数又は複数）を介して受信した情報を、装置１０の他の構成要素によるさらなる処理のために復調するトランシーバ２８を含むことができる。他の実施形態では、トランシーバ２８は、信号又はデータを直接送受信することができる。
【００６７】
プロセッサ２２は、装置１０の動作に関連する機能を実行することができる。該機能に含まれるものには、これに限定されないが、アンテナの利得／位相パラメータのプリコーディング、通信メッセージを構成する個々のビットの符号化及び複合化、情報のフォーマッティング、及び通信リソースの管理に関連する処理を含む前記装置１０の全体的な制御がある。前記装置１０は、また、ネットワークに接続されるネットワーク・カードの形でトランシーバとして動作することができる。  
【００６８】
一つの実施形態では、メモリ１４はプロセッサ２２によって実行されるときに機能を提供するソフトウェア・モジュールを格納することができる。該モジュールは、装置１０にオペレーティング・システム機能を提供するオペレーティング・システム１５を含むことができる。前記メモリは、また、装置１０に追加機能を提供するためにアプリケーション又はプログラム等の一つ以上の機能モジュール１８、例えば、アプリケーション又はプログラムを格納して、装置１０に追加機能を提供することができる。装置１０の構成要素は、ハードウェア、又はハードウェア及びソフトウェアの任意の適切な組み合わせで実装することができる。
【００６９】
図１５は、本発明の特定の実施形態による装置を示す図である。装置１５００は、例えば、ポーリング・エンジンとして実行されるように構成されるネットワーク・ノード等のネットワーク・エレメント／エンティティであってもよい。装置１５００は、ルートを決定する第１の決定部１５１０を含むことができる。前記ルートは、ネットワークの複数のノードからなるクラスタ内の第１のノードを含む。装置１５００はまた、前記ルートと第２のノードとの間の少なくとも一つのネットワーク依存関係を生成する第１の生成部１５２０を含むことができる。前記少なくとも一つのネットワーク依存関係は、前記ネットワークのノード間の接続に相当している。前記少なくとも一つのネットワーク依存関係は、前記ポーリング・エンジンから前記第２のノードまでの方向性をもった経路に相当している。装置１５００はまた、前記第２のノードに対してするポーリング部１５３０を含むことができる。前記第２のノードのポーリングは、前記ポーリング・エンジンと前記第２のノードとの間に生成された少なくとも一つのネットワーク依存関係を介して行われる。装置１５００はまた、前記第２のノードが到達不能であると判定する第２の決定部１５４０を含むことができる。装置１５００はまた、前記第２のノードの前記親ノードのいずれかが装置１５００によって到達可能と判定された場合、前記到達不能な第２のノードに関連する有効化されたアラートを生成する第２の生成部１５５０を含むことができる。
【００７０】
本発明に記載された特徴、利点、及び特性は、一つ以上の実施形態において任意の適切な方法で組み合わせることができる。当業者であれば、本発明は特定の実施形態の特別な特徴又は利点のうちの一つ又は複数がなくても実施可能であることがわかるであろう。他の例では、追加の特徴及び利点を特定の実施形態において認識することができ、該特徴及び利点は、本発明の全ての実施形態において存在しなくてもよいことがわかるであろう。当業者なら容易に理解可能なことは、上述の本発明の実施が、順序の異なる手順で、及び／又は、開示されたものとは異なる構成のハードウェア構成要素を用いて可能であることである。故に、本発明は前記の好ましい実施形態に基づいて説明してきたが、特定の変形、改変、及び代替構成が、本発明の思想及び請求範囲内で可能であることが明らかであろう。
【図１】
0006389494.tif 000002
【図２】
0006389494.tif 000003
【図３Ａ】
0006389494.tif 000004
【図３Ｂ】
0006389494.tif 000005
【図３Ｃ】
0006389494.tif 000006
【図３Ｄ】
0006389494.tif 000007
【図４】
0006389494.tif 000008
【図５】
0006389494.tif 000009
【図６】
0006389494.tif 000010
【図７】
0006389494.tif 000011
【図８】
0006389494.tif 000012
【図９】
0006389494.tif 000013
【図１０】
0006389494.tif 000014
【図１１】
0006389494.tif 000015
【図１２】
0006389494.tif 000016
【図１３】
0006389494.tif 000017
【図１４】
0006389494.tif 000018
【図１５】
0006389494.tif 000019