(57)【特許請求の範囲】
【請求項１】
ネットワーク監視装置によってネットワーク内のノードを探索するステップと、
前記ネットワーク内で探索された前記ノードの各々に対して、インターネットプロトコル（ＩＰ）アドレス、メディアアクセス制御（ＭＡＣ）アドレス、ドメイン名システム（ＤＮＳ）名、およびＳｙｓｎａｍｅのリストを収集するステップと、
前記探索されたノードの各々の前記ＩＰアドレスを現在のノードおよび他の探索されたノードのＩＰアドレスと比較するステップと、
前記探索されたノードの各々の前記ＭＡＣアドレスを前記現在のノードおよび前記他の探索されたノードのＭＡＣアドレスと比較するステップと、
前記探索されたノードの各々の前記ＤＮＳ名を前記現在のノードおよび前記他の探索されたノードのＤＮＳ名と比較するステップと、
前記探索されたノードの各々の前記Ｓｙｓｎａｍｅを前記現在のノードおよび前記他の探索されたノードのＳｙｓｎａｍｅと比較するステップと、
前記ＩＰアドレス、前記ＭＡＣアドレス、前記ＤＮＳ名、および前記Ｓｙｓｎａｍｅの比較に基づいて、前記他の探索されたノードおよび／または前記現在のノードと重複している重複ノードを決定するステップと、を含む方法であって、
前記探索されたノードの各々はノードＩＤを割り当てられ、前記方法は、さらに、
前記探索されたノードと前記現在のノードおよび前記他の探索されたノードのいずれかとが一致する尤度を示す一致指標を各ノードＩＤに割り当てるステップと、を含む
ことを特徴とする方法。
【請求項２】
さらに、前記重複ノードを廃棄するステップを含む
ことを特徴とする、請求項１に記載の方法。
【請求項３】
さらに、前記比較するステップの各々に、実行順序を決定する優先度を割り当てるステップを含む
ことを特徴とする、請求項１に記載の方法。
【請求項４】
前記決定するステップは、以下の式
d1.IsDuplicate()*d1.Priority+…+dn.IsDuplicate()*dn.Priority
を実行することを含む
ことを特徴とする、請求項１に記載の方法。
【請求項５】
さらに、前記重複ノードをノードＩＤごとに分類し、同じノードＩＤに対する前記一致指標を合計するステップを含む
ことを特徴とする、請求項１に記載の方法。
【請求項６】
少なくとも一つのプロセッサと、コンピュータプログラムコードを含む少なくとも一つのメモリとを備えた装置であって、
前記少なくとも一つのメモリと前記コンピュータプログラムコードは、前記少なくとも一つのプロセッサとともに、前記装置が、少なくとも
ネットワーク内のノードを探索し、
前記ネットワーク内で探索された前記ノードの各々に対して、インターネットプロトコル（ＩＰ）アドレス、メディアアクセス制御（ＭＡＣ）アドレス、ドメイン名システム（ＤＮＳ）名、およびＳｙｓｎａｍｅのリストを収集するように構成され、
前記少なくとも一つのプロセッサは、さらに、
前記探索されたノードの各々の前記ＩＰアドレスを現在のノードおよび他の探索されたノードのＩＰアドレスと比較するように構成されたＩＰアドレス重複検出器と、
前記探索されたノードの各々の前記ＭＡＣアドレスを前記現在のノードおよび前記他の探索されたノードのＭＡＣアドレスと比較するように構成されたＭＡＣアドレス重複検出器と、
前記探索されたノードの各々の前記ＤＮＳ名を前記現在のノードおよび前記他の探索されたノードのＤＮＳ名と比較するように構成されたＤＮＳ重複検出器と、
前記探索されたノードの各々の前記Ｓｙｓｎａｍｅを前記現在のノードおよび前記他の探索されたノードのＳｙｓｎａｍｅと比較するように構成されたＳｙｓｎａｍｅ重複検出器と、を実行するように構成され、
前記少なくとも一つのメモリと前記コンピュータプログラムコードは、さらに、前記少なくとも一つのプロセッサとともに、前記装置が、少なくとも
前記ＩＰアドレス重複検出器、前記ＭＡＣアドレス重複検出器、前記ＤＮＳ重複検出器、および前記Ｓｙｓｎａｍｅ重複検出器の比較結果に基づいて、前記他の探索されたノードおよび／または前記現在のノードと重複している重複ノードを決定するように構成され、
前記探索されたノードの各々はノードＩＤを割り当てられ、前記少なくとも一つのメモリと前記コンピュータプログラムコードは、さらに、前記少なくとも一つのプロセッサとともに、前記装置が、少なくとも、前記探索されたノードと前記現在のノードおよび前記他の探索されたノードのいずれかとが一致する尤度を示す一致指標を各ノードＩＤに割り当てるように構成される
ことを特徴とする装置。
【請求項７】
前記少なくとも一つのメモリと前記コンピュータプログラムコードは、さらに、前記少なくとも一つのプロセッサとともに、前記装置が、少なくとも、前記重複ノードを廃棄するように構成される
ことを特徴とする、請求項６に記載の装置。
【請求項８】
前記少なくとも一つのメモリと前記コンピュータプログラムコードは、さらに、前記少なくとも一つのプロセッサとともに、前記装置が、少なくとも、前記ＩＰアドレス重複検出器、前記ＭＡＣアドレス重複検出器、前記ＤＮＳ重複検出器、および前記Ｓｙｓｎａｍｅ重複検出器の各々に、実行順序を決定する優先度を割り当てるように構成される
ことを特徴とする、請求項６に記載の装置。
【請求項９】
前記少なくとも一つのメモリと前記コンピュータプログラムコードは、さらに、前記少なくとも一つのプロセッサとともに、前記装置が、少なくとも、前記重複ノードを以下の式
d1.IsDuplicate()*d1.Priority+…+dn.IsDuplicate()*dn.Priority
を実行することによって決定するように構成される
ことを特徴とする、請求項６に記載の装置。
【請求項１０】
前記少なくとも一つのメモリと前記コンピュータプログラムコードは、さらに、前記少なくとも一つのプロセッサとともに、前記装置が、少なくとも、前記重複ノードをノードＩＤごとに分類し、同じノードＩＤに対する前記一致指標を合計するように構成される
ことを特徴とする、請求項６に記載の装置。
【請求項１１】
前記ＩＰアドレス重複検出器、前記ＭＡＣアドレス重複検出器、前記ＤＮＳ重複検出器、および前記Ｓｙｓｎａｍｅ重複検出器の各々に重みが割り当てられ、前記重みは、それぞれの前記重複検出器によって提供される結果の信頼度を示すものである
ことを特徴とする、請求項６に記載の装置。
【請求項１２】
コンピュータ可読媒体に具体化されたコンピュータプログラムであって、
プロセッサを制御して、
ネットワーク監視装置によってネットワーク内のノードを探索するステップと、
前記ネットワーク内の前記探索されたノードの各々に対して、インターネットプロトコル（ＩＰ）アドレス、メディアアクセス制御（ＭＡＣ）アドレス、ドメイン名システム（ＤＮＳ）名、およびＳｙｓｎａｍｅのリストを収集するステップと、
前記探索されたノードの各々の前記ＩＰアドレスを現在のノードおよび他の探索されたノードのＩＰアドレスと比較するステップと、
前記探索されたノードの各々の前記ＭＡＣアドレスを前記現在のノードおよび前記他の探索されたノードのＭＡＣアドレスと比較するステップと、
前記探索されたノードの各々の前記ＤＮＳ名を前記現在のノードおよび前記他の探索されたノードのＤＮＳ名と比較するステップと、
前記探索されたノードの各々の前記Ｓｙｓｎａｍｅを前記現在のノードおよび前記他の探索されたノードのＳｙｓｎａｍｅと比較するステップと、
前記ＩＰアドレス、前記ＭＡＣアドレス、前記ＤＮＳ名、および前記Ｓｙｓｎａｍｅの比較に基づいて、前記他の探索されたノードおよび／または前記現在のノードと重複している重複ノードを決定するステップと、
を含む処理を実行するように構成され、
前記探索されたノードの各々はノードＩＤを割り当てられ、前記処理は、さらに、前記探索されたノードと前記現在のノードおよび前記他の探索されたノードのいずれかとが一致する尤度を示す一致指標を各ノードＩＤに割り当てるステップを含む
ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、広くは、ネットワークトラフィックの監視、分析、および／または報告に関するものである。より具体的には、いくつかの実施形態は、例えば、ネットワーク監視システムによって監視される物理ノードのノード重複排除のための方法、システム、およびコンピュータプログラムを対象とする。
【背景技術】
【０００２】
ネットワーク管理には、ネットワークシステムの運用、管理、保守、および／またはシステム提供に関連する活動、方法、手順、およびツールが含まれる。ネットワーク管理の一部として実施され得る機能には、例えば、ネットワーク資源を計画し、制御し、展開し、割り当てを行ない、調整し、および監視することが含まれる。更なる機能として、ネットワーク計画、周波数割り当て、負荷分散、構成管理、障害管理、セキュリティ管理、性能管理、帯域幅管理、経路分析、および課金管理に関するものがある。
【０００３】
上述したように、ネットワーク管理の一部として、ネットワークトラフィックのネットワーク監視が含まれる。ネットワークトラフィックのデータは、ネットワーク管理者にとって、ネットワーク上の新しいアプリケーションの影響を分析し、ネットワークの問題箇所の原因追究を行ない、処理が遅いか故障しているネットワーク機器を検出し、帯域幅のヘビーユーザを検出し、ネットワークを保護することを含め、様々な理由で関心のあるものである。ネットワークトラフィックとして流れるデータについて様々なプロトコルが開発されてきた。これらのプロトコルには、発信元インターネットプロトコル（ＩＰ）アドレス、送信先ＩＰアドレス、発信元ポート、送信先ポート、ＩＰプロトコル、入口インターフェイス、ＩＰサービスタイプ、開始時間および終了時間、バイト数、および次の中継点などの多くの種類の情報が含まれる。
【０００４】
ネットワークが大きく複雑になるにつれて、トラフィックとして流れるデータを監視し、分析し、および報告するシステムは、ますます増えるネットワーク機器およびネットワークトラフィックについて生成される情報量をより効率的に取り扱えるようになる必要がある。
【発明の概要】
【０００５】
いくつかの実施形態は、ノード重複排除のための方法、装置、およびコンピュータプログラム製品を対象とする。一つの方法には、ネットワーク監視装置によってネットワーク内のノードを探索することが含まれる。この方法はさらに、ネットワーク内で探索されたノードの各々に対して、インターネットプロトコル（ＩＰ）アドレス、メディアアクセス制御（ＭＡＣ）アドレス、ドメイン名システム（ＤＮＳ）名、およびＳｙｓｎａｍｅのリストを収集し、探索されたノードの各々のＩＰアドレスを現在のノードおよび他の探索されたノードのＩＰアドレスと比較し、探索されたノードの各々のＭＡＣアドレスを現在のノードおよび他の探索されたノードのＭＡＣアドレスと比較し、探索されたノードの各々のＤＮＳ名を現在のノードおよび他の探索されたノードのＤＮＳ名と比較し、探索されたノードの各々のＳｙｓｎａｍｅを現在のノードおよび他の探索されたノードのＳｙｓｎａｍｅと比較し、ＩＰアドレス、ＭＡＣアドレス、ＤＮＳ名、およびＳｙｓｎａｍｅの比較に基づいて、他の探索されたノードおよび／または現在のノードと重複している重複ノードを決定することを含むものとする。
【図面の簡単な説明】
【０００６】
本発明を適切に理解するためには、添付の図面を参照されたい。 
【図１】一実施形態に係るシステムの概略図を示している。
【図２】一つの実施形態に係るシステムの概略図を示している。
【図３】一つの実施形態に係る方法の流れ図を示している。
【図４】別の実施形態に係る方法の流れ図を示している。
【図５】一実施形態に係る装置の概略図を示している。
【図６】別の実施形態に係る方法の流れ図を示している。
【発明を実施するための形態】
【０００７】
本明細書に大まかに記載され、図面に示された本発明の構成要素は、多種多様な異なる構成で配置され、設計され得ることが容易に理解されるであろう。したがって、添付の図面に示された、ノード重複排除のためのシステム、方法、装置、およびコンピュータプログラム製品の実施形態に関する以下の詳細な説明は、本発明の範囲を限定するものではなく、単に、本発明のうち選択された実施形態を表すものにすぎない。
【０００８】
本明細書を通じて記載された本発明の特徴、構造、または特性は、任意の適切な方法で一つ以上の実施形態として組み合わせてもよい。例えば、本明細書を通じて、「特定の実施形態」や「いくつかの実施形態」という語句、または他の同様な用語の使用は、その実施形態に関連して記載される特有の特徴、構造、または特性が、本発明の少なくとも一つの実施形態に含まれているという事実を述べている。したがって、本明細書全体を通して、「特定の実施形態では」、「いくつかの実施形態では」、「他の実施形態では」、または他の同様な用語が出てきたからといって、必ずしも全て同じ実施形態グループを参照しているとは限らず、記載された特徴、構造、または特性は、任意の適切な方法で一つ以上の実施形態として組み合わせてもよい。さらに、必要に応じて、以下に説明する別々の機能が、互いに異なる順序で、および／または、同時に実行されてもよい。さらに、必要に応じて、説明された機能のうちの一つ以上がオプションであってもよいし、組み合わせてもよい。このように、以下の説明は、本発明の原理、教示および実施形態の単なる例示であり、限定するものではないとみなされるべきである。
【０００９】
なお、本明細書を通して、ネットワーク機器およびネットワークノード、または単に機器またはノードという用語が、ネットワークへ接続すること、および／または、ネットワーク上で通信することができる任意の物理機器を指すために交互に使用されるものとする。そのような機器またはノードの例には、それだけには限定されないが、ルータ、スイッチ、サーバ、コンピュータ、ラップトップ、タブレット、電話、プリンタ、モバイルデバイス、および通信チャネルを介して情報を送信、受信、または転送することが可能な、他の任意の現在または将来のコンポーネントが含まれるものとする。
【００１０】
図１は、一つの実施形態に係るシステムの一例を示している。システムは、ネットワーク監視システム１００、ネットワーク監視システム記憶装置１１０、スイッチ素子１３０、および一つ以上のネットワーク機器１２０を備えている。ネットワーク監視システム記憶装置１１０は、ネットワーク監視データを格納することができる。ネットワーク監視システム記憶装置１１０は、データベースまたは他の任意の適切な記憶装置とすることができる。ネットワーク機器１２０は、ネットワークトラフィックモニタ１００によって監視されるネットワーク内のノードであるものとする。なお、システムでは、任意の数および任意の種類のネットワーク機器１２０をサポートすることができる。したがって、実施形態は、図１に示したネットワーク機器の数および種類に限定されるものではない。一実施形態では、ネットワーク監視システム記憶装置１１０は、ネットワークで探索されたネットワーク機器に関する情報を保存し整理する探索結果データベース表を格納するものとする。
【００１１】
いくつかのケースでは、ネットワーク機器は、複数のインターネットプロトコル（ＩＰ）アドレスでアクセスすることができる。例えば、いくつかの機器は、同時に複数のＩＰアドレスを持つことができる。また、いくつかのノードは、動的であって、時間によって変化するＩＰアドレスを持つ。そのような動的ＩＰアドレスは、探索結果として古くなった初期のＩＰアドレスを動的ノードの現在のＩＰアドレスと一致させるので、重複排除ロジックにとって問題を引き起こす。
【００１２】
現在、システムは、一つのＩＰアドレスが一つのネットワークノードと対応するロジックを通常は適用している。その結果、複数のＩＰアドレスと結びつくノードは、一つのノードとして認識されない場合がある。この動作は、一台の物理機器が複数回監視される状態をもたらし、ネットワーク監視システムにおいて明らかに余計なオーバーヘッドや非効率性をもたらす可能性がある。
【００１３】
したがって、ユーザーは、通常は、複数のＩＰアドレスに応答する機器をネットワーク内では単一ノードとして監視して欲しいと望んでいる。本発明の実施形態は、このような状況を検出し、（例えば、毎回異なるＩＰアドレスを使用して）同じ物理ノードを複数回処理しないようにできる自動ネットワーク探索を実装する。一つの実施形態は、単一ノードが複数回監視されないように、自動的に重複ノードを識別するよう構成された重複排除ロジックを含んでいる。
【００１４】
特定の実施形態は、ネットワークノードを一意に識別するために必要なノード識別子として機能する、一つ以上の情報を識別する。この一意のノード識別子を有することによって、特定の実施形態は、探索処理で見つかったノードの重複（例えば、異なる複数ＩＰアドレスが付いた同一の物理ネットワークノード）、および／または、既に別のＩＰアドレスで監視されているノードの重複を検出するロジックを定義するように進めることができる。
【００１５】
特定の実施形態によれば、一意にノードを識別するために使用される情報には、簡単にポーリングすることができる情報、大半の機器で利用可能な（つまり、メーカーに依存しない）情報、インターネット制御メッセージプロトコル（ＩＣＭＰ）ノードであると同時に他の種類のノードとして（例えば、ＩＣＭＰノードは、ＳＮＭＰまたはＷＭＩを介して到達できないノードであるとみなされる）利用可能な情報、および効率的でありながら正確な結果を提供することができる最小情報セットである情報、が含まれる。
【００１６】
特定の実施形態は、少なくとも二つの典型的な使用事例を扱うことができる。例えば、一つの使用事例として、複数のＩＰアドレスでアクセス可能な機器が含まれているネットワークの小集団に対し、自動化されたネットワーク探索を行なうことが考えられる。既知のように、ネットワークの小集団に属する機器は、それらのＩＰアドレスにある、共通の、同一な、最上位ビット群でアドレス指定される。別の使用事例として、すでに監視されているネットワークの小集団に対し、自動化されたネットワーク探索を行なうことが考えられる。
【００１７】
特定の実施形態は、一連の情報が他とは異なる時間枠で収集された場合でも、ネットワーク内の重複としてネットワークノードを識別することができる。例えば、このことは、使用者がスケジュールされた探索プロファイルに対する探索結果を取り込もうとするときに発生する可能性がある。このような場合には、いくつかの実施形態は、探索中に収集された、古くなった可能性がある情報について処理を行ない、その情報を、すべての監視対象ノードに対して継続的に収集されつつある新たな情報と比較する必要があることがある。したがって、特定の実施形態に係る重複排除は、重複が除去されるように、探索されたノードを互いに比較する探索作業中に発生する、および／または、重複ノードが識別されて除去されるように、探索されたノードを取り込んで既存のノード（例えば、ネットワーク監視システム記憶装置またはデータベースに格納されたノード）と比較する探索結果取り込み中に発生する。
【００１８】
特定の実施形態によれば、各ネットワークノードに対するＤＮＳ名、Ｓｙｓｎａｍｅ、ＩＰアドレス、およびＭＡＣアドレスで構成される収集データの集合を利用して、重複ノードを識別する。一つの実施形態には、収集データの集合の情報を相互に、例えば、ＤＮＳ対ＤＮＳ、ＭＡＣ対ＭＡＣ、等のように比較するロジックが含まれる。このロジックは、重複検出コンポーネントで実施されるものとする。検出の結果は、一致するものがあるかないか、もしくは、不明であるかを示す一致指標である。特定の実施形態は、検出器からの部分的な結果を集約し、ノードが重複しているか否かの最終的な判定を計算するためのロジックも提供している。例えば、特定の実施形態では、ノードの重複排除には、選択されたＩＰ範囲を探索する責任を各々有するいくつかの部分的反復が含まれるものとする。各反復の終了時に、重複であると判断され次第、重複排除が行なわれて該当ノード（例えば、端点）が除かれる。一回の反復で、不明である、または重複しないという結果になった場合には、そのノードは、次の処理または次の反復処理に渡される。
【００１９】
特定の実施形態では、二組の重複検出器が設けられるものとする。一組の検出器は、自動化された探索処理時に使用され、新たに探索されたデバイスを除外し、重複をなくすことができる。他の一組の検出器は、探索結果取り込み時に使用され、一組の監視済みノードに重複ノードを追加することを避けることができる。
【００２０】
一つの実施形態では、システムは、すべての探索済みノードのすべてのＤＮＳ名、Ｓｙｓｎａｍｅ、ＩＰアドレス、およびＭＡＣアドレスのリストを収集し、それらを例えば、探索作業結果の一部として、格納するように構成されている。この情報は、ネットワークシステム監視記憶装置またはデータベース１１０に格納するものとする。上述したように、この情報は、少なくとも二段階の探索時に使用することができる。例えば、ＤＮＳ名、Ｓｙｓｎａｍｅ、ＩＰアドレス、およびＭＡＣアドレスは、探索中に使用されて、現在探索済みのノードがすでに探索された他のものと重複しているかどうかを確認することができる、および／または、探索結果取り込み時に使用されて、探索結果をシステムによって監視されている既存のノードと比較することができる。一つの実施形態では、ＭＡＣ情報は、永続的な記憶装置に、例えば、探索結果の一部として格納される。
【００２１】
図２は、一つの実施形態に係るシステム２００を示しており、該システムは、ＩＰアドレス重複検出器２０１、ＤＮＳ重複検出器２０３、ＭＡＣアドレス重複検出器２０２、およびＳｙｓｎａｍｅ重複検出器２０４を備えるものとする。一実施形態では、データベース２１０は、各検出器がデータベース２１０に格納された関連アドレスを収集することができるように、ＩＰアドレス重複検出器２０１、ＤＮＳ重複検出器２０３、ＭＡＣアドレス重複検出器２０２、およびＳｙｓｎａｍｅ重複検出器２０４と交信するものとする。一実施形態では、データベース２１０は、図1に示したネットワークトラフィックデータ記憶装置１１０に格納されるものとする。なお、システム２００は、完全にハードウェアとして実装されても、ハードウェアとソフトウェアの組合せとして実装されてもよい。
【００２２】
重複検出器２０１、２０２、２０３、２０４の各々は、実行順序に関して定められた優先順位と（例えば、数が小さいほど早く実行することを示す）、重複検出器によって提供される結果の信頼度を示す重みと（例えば、重み０は、最終結果には何ら影響を与えない）、および最優先で使用されてノードが重複しているかどうかを決定する否認と、を有しているものとする。
【００２３】
ＤＮＳ重複検出器２０３は、探索されたノードのＤＮＳを他のすべての探索済みノードおよび現在監視中のノードと比較するように構成されるものとする。一実施形態では、ＤＮＳ重複検出器２０３は、探索されたノードのＤＮＳが監視されているノードのいずれかまたは他の探索されたノードのいずれかによって使用されているＤＮＳと同じである場合、そのノードは重複していると結論付けるものとする。 
【００２４】
ＭＡＣアドレスは、（同じＭＡＣアドレスが二台の異なる機器、例えば、二つの別々の仮想ホストでホストとして稼働している複製仮想マシンで使用される局面があるものの）設計上、一般的に一意的である。ＭＡＣアドレス重複検出器２０２は、探索されたノードのＭＡＣアドレスを、データベース２１０内のノードＭＡＣアドレスデータベース表に格納されている、それ以前に収集されたすべてのノードのＭＡＣアドレスと比較するように構成されるものとする。ＭＡＣアドレス重複検出器２０２は、探索された一組のＭＡＣアドレスが所定のノードに関して現在監視対象であるＭＡＣアドレスの部分集合であるか、または監視対象である一組のＭＡＣアドレスが探索されたＭＡＣアドレスの部分集合である場合、そのノードは重複していると結論付けるように構成されるものとする。
【００２５】
下記の表１は、ＭＡＣアドレス重複検出器２０２によってノードが等しいとみなされる例を示しており、ここでＡ、Ｂ、ＣはＭＡＣアドレスを表している。一方、以下の表２は、（例えば、ＭＡＣアドレスに基づいて）ノードが等しいとはみなされない例を示している。
【表１】
0005950979.tif 000002
【表２】
0005950979.tif 000003
【００２６】
両方ともちょうど二つのＭＡＣアドレスを有する二つのノード、例えば００００００００００００００００と００００００００００００００Ｅ０は、同一のものであるとみなすべきである。例えば、ノードＡとノードＢは、ノードＡのＭＡＣアドレスのリストがノードＢのＭＡＣアドレスのリストの部分集合であるか、または、ノードＢのＭＡＣアドレスのリストがノードＡのＭＡＣアドレスのリストの部分集合であるとき、そして唯一そのときだけ同じものである。その場合、システムは、ＭＡＣアドレスによれば二つのノードは同じものなので、異なる重複検出器または異なる重複排除方法（例えば、Ｓｙｓｎａｍｅの照合）に頼るものとする。
【００２７】
Ｓｙｓｎａｍｅ重複検出器２０４は、探索されたノードのＳｙｓｎａｍｅを他のすべての探索されたノードおよび現在監視されているノードと比較するように構成されているものとする。一実施形態では、Ｓｙｓｎａｍｅ重複検出器２０４は、探索されたノードのＳｙｓｎａｍｅが監視対象ノードのいずれか、または探索済みの他のノードのいずれかによって使用されているＳｙｓｎａｍｅと同じである場合、そのノードは重複していると結論付けるものとする。一実施形態では、Ｓｙｓｎａｍｅは、例えば、簡易ネットワーク管理プロトコル（ＳＮＭＰ）ノードに対するＳｙｓｎａｍｅであってもよいし、Ｗｉｎｄｏｗｓ管理手段（ＷＭＩ）ノードのコンピュータのフルネームであってもよい。なお、実施形態は、データソースをＳＮＭＰおよび／またはＷＭＩに限定するものではなく、特定の実施形態によれば、他の種類のデータソースも同様に適用可能である（例えば、ＳＳＨを介したルータ／スイッチへのＣＬＩ、またはｔｅｌｎｅｔ等）。
【００２８】
上記のように、各重複検出器は、関連付けられた重みを設定データベース表から読み込むものとする。重みは、関連付けられた重複検出器によって提供される結果の信頼度を表す。関連付けられた重複検出器を無効にするために重みをマイナス１に設定することが可能である。一実施形態によれば、重みの値は０〜１００の範囲であるものとし、ここで、０は最も低い信頼度を表し、１００は最も高い信頼度を表している。
【００２９】
すべての重複検出器（ｄ１，．．．，ｄｎ）は、上述したように、優先順位によって定められた順序で順次実行されるものとする。各々の重複検出器は、「ＩｓＡｕｔｈｏｒｉｔａｔｉｖｅ」フラグを真に設定する可能性があり、そうすると後続の重複検出器の実行を終了させるものとする。このような場合には、「ＩｓＡｕｔｈｏｒｉｔａｔｉｖｅ」フラグを真に設定した重複検出器の投票は、最終的なものとみなされ、他のすべての投票は無視される。一つの実施形態によれば、真に設定された「ＩｓＡｕｔｈｏｒｉｔａｔｉｖｅ」フラグが存在しない場合、ノードが重複しているかどうかについての最終結果は、次のようにすべての重複検出器の投票結果値の総和として計算される。 
最終決定＝
d1.IsDuplicate()*d1.Priority+…+dn.IsDuplicate()*dn.Priority
ここで、ｄ１は第一重複検出器であり、ｄ２は第二重複検出器であり、．．．そしてｄｎは第ｎ重複検出器である。したがって、ｄｎ．ＩｓＤｕｐｌｉｃａｔｅ（）は、ノードが重複しているかどうかに関する第ｎ重複検出器の結論を表す関数である。
【００３０】
以下の表３に示すように、各重複検出器は、探索されたすべての重複ノードのノードＩＤのリストを返すものとする。各ノードＩＤは、関連付けられた一致指標が割り当てられるものとし、これは一致する可能性を示している。 一実施形態では、一致指標値の範囲は、０〜１００であり、ここで、０は最も低い一致可能性を示し、１００は最も高い一致可能性を示している。一実施形態によれば、システム２００は、表３に示す重複ノード情報をノードＩＤごとに分類し、同じノードＩＤに対する一致指標を合計するように構成するものとする。その後、システム２００は、カードを切って、合計された総計の一致指標が最も大きいノードＩＤを選択するように構成するものとする。
【表３】
0005950979.tif 000004
【００３１】
以下の表４は、一実施形態に係る結果の表の例を示している。この例では、表の各行はノードを表すものとする。 「Ｄｎｓ重複検出器」列は、ノードが重複であるか否かに関してＤＮＳ重複検出器の結論を示している。同様に、「Ｍａｃアドレス重複検出器」の列は、ノードが重複であるか否かに関してＭＡＣアドレス重複検出器の結論を示し、「Ｓｙｓｎａｍｅ重複検出器」の列は、ノードが重複であるか否かに関してＳｙｓｎａｍｅ重複検出器の結論を示している。そして、最後の「予想される結果」の列は、ノードの予想結果を示している。
【表４】
0005950979.tif 000005
【００３２】
図３は、一つの実施形態に係るノード重複排除方法の流れ図を示している。図３の例では、３００において、一つ以上のノードが探索される。３１０において、ノードと関連付けられたＩＰアドレスが探索される。３２０において、機器情報を取得するために使用される、ＳＮＭＰ、ＷＭＩ、等のサポート技術が検出される。３３０において、ノードに関する情報がサポート技術により得られる（検出される）。３４０において、探索されたノードの重複排除が行われる。３５０において、ノードが重複しているか否かが判定される。もしそうであれば、３６０において探索結果の集合から除かれる。ノードが重複でない場合、３７０において、探索されたノードはデータベースに保存される。３８０において、探索されたノードと関連付けられたデータが探索取り込みのために準備される。
【００３３】
図４は、別の実施形態に係るノード重複排除方法の流れ図を示している。図４の例では、４００において、探索作業の結果が保存される。４０５において、探索結果がデータベースから読み込まれ、非直列化される。４１０において、重複検出は、主として、ノードと関連付けられた一次ＩＰアドレスを用いて行われる。４１５において、同じＩＰを持つノードが既に何らかの手段で監視されているかどうかが検出される。同じＩＰを持つノードが既に監視されている場合、既存のノード情報は、４２０において更新される。同じＩＰを持つノードがまだ監視されていない場合、４２５において、無視ノードに対する重複検出が行なわれる。４３０において、ノードが重複であるかどうかが判定される。もしそうであれば、４３５において、条件が記録され、重複するノードは廃棄される。重複であるとは判定されなかった場合、４４０において、監視されているすべてのノードに対して重複チェックが行なわれる。４４５において、ノードが重複であるかどうかが判定される。重複であると判定された場合、４５０において、条件が記録され、重複するノードは廃棄される。重複であるとは判定されなかった場合、４５５において、ノード情報が持続的記憶装置に保存される。４６０において、探索取り込みの結果は、関連するＩＰアドレスとＭＡＣアドレスを持つノードのリストである。
【００３４】
図５は、本発明の一つの実施形態を実施することになる装置１０の概略図を示している。装置１０は、装置１０のコンポーネント間で情報をやり取りするために、バス１２または他の通信機構を備えているものとする。装置１０は、情報を処理し、命令または操作を実行するために、バス１２に結合されたプロセッサ２２も備えている。プロセッサ２２は、汎用または特定目的の任意の種類のプロセッサであってもよい。装置１０は、さらに、情報、およびプロセッサ２２によって実行される命令を記憶するためのメモリ１４を備えている。メモリ１４は、ランダムアクセスメモリ（「ＲＡＭ」）、読み出し専用（「ＲＯＭ」）メモリ、磁気ディスクまたは光学ディスクのような静的な記憶装置、または他の任意の種類の機械可読つまりコンピュータ可読媒体の任意の組み合わせから成っていてもよい。装置１０は、さらに、ネットワークインタフェースカードまたは他の通信インタフェースのような通信装置２０を備えていて、ネットワークへのアクセスを提供する。その結果、ユーザは、装置１０と直接に、あるいはネットワークまたは他の任意の方法を介して遠隔から接続することができる。
【００３５】
コンピュータ可読媒体は、プロセッサ２２によってアクセスすることができる任意の入手可能な媒体であって、揮発性および不揮発性媒体、リムーバブルおよび非リムーバブル媒体、および通信媒体を含むものとする。通信媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、または搬送波もしくは他の移送機構のような変調データ信号内の他のデータが含まれるものとし、任意の情報配信媒体が含まれる。
【００３６】
プロセッサ２２は、さらに、ネットワークトラフィック情報のような情報をユーザに表示するため、ディスプレイ、モニタ、スクリーン、またはウェブブラウザのような提示装置２４にバス１２を介して連結されている。キーボード、コンピュータマウス、またはウェブブラウザのようなユーザ入力コンポーネント２６が、さらに、バス１２に結合されて、ユーザーが装置１０とやり取りできるようになっている。プロセッサ２２およびメモリ１４は、バス１２を介してデータベースシステム３０にも結合しているものとし、したがって、データベースシステム３０に格納された情報にアクセスして取み出すことができるものとする。一つの実施形態では、データベースシステム３０は、図１に示したネットワーク監視システム記憶装置１１０である。図５では単一データベースのみが示されているが、特定の実施形態に従って任意の数のデータベースが使用できるものとする。
【００３７】
一つの実施形態では、メモリ１４は、プロセッサ２２によって実行されたときに機能を提供するソフトウェアモジュールを格納している。このモジュールには、装置１０に対してオペレーティングシステム機能を提供するオペレーティングシステム１５が含まれるものとする。このメモリは、上述したように、ノード重複排除機能をサポートする、一つ以上の重複検出器も格納するものとする。一つ以上の重複検出器１６には、例えば、上述した図２に示すように、ＩＰアドレス重複検出器２０１、ＤＮＳ重複検出器２０３、ＭＡＣアドレス重複検出器２０２、Ｓｙｓｎａｍｅ重複検出器２０４が含まれるものとする。装置１０は、一つ以上の他の機能モジュール１８も備えて、追加機能を提供してもよい。
【００３８】
データベースシステム３０は、データベースサーバ、およびリレーショナルデータベースまたはフラットファイルデータベースのような任意の種類のデータベースを備えるものとする。データベースシステム３０は、ネットワーク内にある各機器等のネットワークトラフィックフローに関連するデータ、および／または、装置１０またはそれに関連するモジュールおよびコンポーネントと関連付けられている任意のデータを格納するものとする。
【００３９】
特定の実施形態では、プロセッサ２２、重複検出器１６、および他の機能モジュール１８は、別個の物理的および論理的装置として実装してもよいし、単一の物理的および論理的装置として実装してもよい。さらに、いくつかの実施形態では、プロセッサ２２、重複検出器１６、および他の機能モジュール１８は、ハードウェアで、またはハードウェアとソフトウェアの任意の適切な組み合わせとして実装してもよい。
【００４０】
いくつかの実施形態では、プロセッサ２２は、装置１０を制御してネットワーク内のノードを探索するように構成される。一実施形態によれば、探索されたノードを識別する情報は、例えば、データベース１１０に格納されるものとする。プロセッサ２２は、装置１０を制御して、ネットワーク内で探索されるノードの各々について、ＩＰアドレス、ＭＡＣアドレス、ＤＮＳ名、Ｓｙｓｎａｍｅのリストを収集するように構成するものとする。
【００４１】
一実施形態によれば、プロセッサ２２は、装置１０を制御して、探索されたノードの各々のＩＰアドレスを現在のノードおよび他の探索されたノードのＩＰアドレスと比較するように構成されたＩＰアドレス重複検出器、探索されたノードの各々のＭＡＣアドレスを現在のノードおよび他の探索されたノードのＭＡＣアドレスと比較するように構成されたＭＡＣアドレス重複検出器、探索されたノードの各々のＤＮＳ名を現在のノードおよび他の探索されたノードのＤＮＳ名と比較するように構成されたＤＮＳ重複検出器、および探索されたノードの各々のＳｙｓｎａｍｅを現在のノードおよび他の探索されたノードのＳｙｓｎａｍｅと比較するように構成されたＳｙｓｎａｍｅ重複検出器、を実行するように構成されるものとする。プロセッサ２２は、次いで、装置１０を制御して、ＩＰアドレス重複検出器、ＭＡＣアドレス重複検出器、ＤＮＳ重複検出器、およびＳｙｓｎａｍｅ重複検出器の比較結果に基づいて、他の探索されたノードおよび／または現在のノードと重複している重複ノードを決定するように構成されるものとする。
【００４２】
一実施形態では、プロセッサ２２は、装置１０を制御して、重複ノードを廃棄するように構成するものとする。一つの実施形態によれば、プロセッサ２２は、装置１０を制御して、ＩＰアドレス重複検出器、ＭＡＣアドレス重複検出器、ＤＮＳ重複検出器、およびＳｙｓｎａｍｅ重複検出器の各々に実行順序を決定する優先度を割り当てるように構成するものとする。装置１０は、例えば、以下の式を実行することによって、重複ノードを決定するように制御されるものとする。
d1.IsDuplicate()*d1.Priority+…+dn.IsDuplicate()*dn.Priority
【００４３】
所定の実施形態では、探索されたノードの各々は、ノードＩＤを割り当てられるものとする。プロセッサ２２は、装置１０を制御して、各ノードＩＤに一致指標を割り当てるように構成されるものとし、ここで、一致指標は、探索されたノードと現在のノードおよび他の探索されたノードのいずれかが一致する尤度を示すものである。一つの実施形態によれば、プロセッサ２２は、装置１０を制御して、重複ノードをノードＩＤごとに分類し、同じノードＩＤの一致指標を合計するように構成されるものとする。また、ＩＰアドレス重複検出器、ＭＡＣアドレス重複検出器、ＤＮＳ重複検出器、およびＳｙｓｎａｍｅ重複検出器の各々に重みが割り当てられる。この重みは、それぞれの重複検出器によって提供される結果の信頼度を示している。
【００４４】
図６は、一つの実施形態に係る方法の流れ図の例を示している。この方法には、ステップ６００で、例えば、ネットワーク監視装置によって、ネットワーク内のノードを探索することが含まれる。この方法には、次いで、ステップ６１０で、ネットワーク内で探索されたノードの各々に対して、インターネットプロトコル（ＩＰ）アドレス、メディアアクセス制御（ＭＡＣ）アドレス、ドメインネームシステム（ＤＮＳ）名、およびＳｙｓｎａｍｅのリストを収集することが含まれるものとする。ステップ６２０で、この方法には、探索されたノードの各々のＩＰアドレスを現在のノードおよび他の探索されたノードのＩＰアドレスと比較することが含まれる。ステップ６３０で、この方法には、探索されたノードの各々のＭＡＣアドレスを現在のノードおよび他の探索されたノードのＭＡＣアドレスと比較することが含まれる。ステップ６４０で、この方法には、探索されたノードの各々のＤＮＳ名を現在のノードおよび他の探索されたノードのＤＮＳ名と比較することが含まれる。ステップ６５０で、この方法には、探索されたノードの各々のＳｙｓｎａｍｅを現在のノードおよび他の探索されたノードのＳｙｓｎａｍｅと比較することが含まれる。この方法には、さらに、ステップ６６０で、ＩＰアドレス、ＭＡＣアドレス、ＤＮＳ名、およびＳｙｓｎａｍｅの比較に基づいて、他の探索されたノードおよび／または現在のノードと重複している重複ノードを決定することが含まれる。
【００４５】
幾つかの実施形態では、本明細書に記載した、図３，図４，および図６の方法のような方法のいずれの機能も、メモリまたは他のコンピュータ可読媒体または有形の媒体に格納されて、プロセッサによって実行される、ソフトウェアおよび／またはコンピュータプログラムコードによって実装されるものとする。他の実施形態では、この機能は、ハードウェア、例えば、特定用途向け集積回路（ＡＳＩＣ）、プログラマブルゲートアレイ（ＰＧＡ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、またはハードウェアとソフトウェアの任意の他の組み合わせを使用することによって実行されるものとする。
【００４６】
当業者であれば、上述の本発明は異なる順序のステップで、および／または、開示されているものとは異なる構成のハードウェア要素で実施され得ることを、容易に理解するであろう。したがって、本発明はこれらの好ましい実施形態に基づいて説明してきたが、本発明の精神および範囲内に留まりつつ、特定の修正、変形、および別の構築が容易に分かることが当業者には明らかであろう。したがって、本発明の境界を決定するためには、添付の特許請求の範囲を参照されたい。
【図１】
0005950979.tif 000006
【図２】
0005950979.tif 000007
【図３】
0005950979.tif 000008
【図４】
0005950979.tif 000009
【図５】
0005950979.tif 000010
【図６】
0005950979.tif 000011