(57)【特許請求の範囲】
【請求項１】
以下の（ａ）及び（ｂ）を有することを特徴とする、通信ネットワーク上でトラフィックの最大寄与者を判定するためのシステム。
（ａ）通信ネットワークからフレームを捕捉する手段。
（ｂ）前記フレームを捕捉する手段と結合し、トラフィック寄与者の情報を記録し維持するトラフィック分析手段であって、前記トラフィック分析手段は、レコードのテーブルを維持し、前記レコードの各々は使用中ロケーション・フィールド、ステーション・アドレス・フィールド及びトラフィック・カウント・フィールドを有し、前記トラフィック分析手段はさらに、以下の（ｂ−１）から（ｂ−４）を含む。
（ｂ−１）前記フレームの前記送信元アドレスを前記ステーション・アドレス・フィールドの値と照合する手段。
（ｂ−２）前記トラフィック・カウント・フィールドの値に従って、前記レコードのテーブルを昇順にソートする手段。
（ｂ−３）前記送信元アドレスが前記ステーション・アドレス・フィールド値のいずれとも一致しない場合に限り、新たなレコードを生成する手段。
（ｂ−４）前記送信元アドレスが前記ステーション・アドレス・フィールドの値のいずれとも一致せず、前記使用中ロケーション・フィールドの値が非使用中とマークされていない場合に、上位Ｎ番目の寄与者の前記トラフィック・カウント・フィールド値より小さいトラフィック・カウント・フィールド値を有する前記レコードの各々の前記使用中ロケーション・フィールドに、非使用中であるとマークすることにより、前記レコードを破棄する手段。
【請求項２】
前記新たなレコードを生成する手段は、使用中ロケーション・フィールドに使用中とマークする手段と、前記新たなレコードの前記ステーション・アドレス・フィールドに前記送信元アドレスをストアする手段と、前記トラフィック・カウント・フィールドをゼロに設定する手段と、を含むことを特徴とする請求項１に記載のシステム。
【請求項３】
前記レコードを破棄する手段は、前記テーブル中で、上位Ｎ番目の寄与者を表すレコードを見出す手段と、前記上位Ｎ番目の寄与者のトラフィック・カウント・フィールド値より小さいトラフィック・カウント・フィールド値を有するレコードに非使用中とマークし、前記レコードを破棄する手段と、を含むことを特徴とする請求項１に記載のシステム。
【請求項４】
通信ネットワーク上にトラフィックを生成する上位Ｎ個の寄与者を推定するため、以下の（ａ）から（ｈ）のステップを繰り返し実行する方法。
（ａ）前記通信ネットワークをモニタするステップ。
（ｂ）前記通信ネットワーク上の１つフレームを捕捉するステップ。
（ｃ）前記フレームを、使用中ロケーション・フィールド、ステーション・アドレス・フィールド及びトラフィック・カウント・フィールドの各レコードのテーブルを有するトラフィック・アナライザ・ブロックへ送るステップ。
（ｄ）前記フレームの送信元アドレス・フィールド値と一致するステーション・アドレス・フィールド値を有する前記レコードのトラフィック・カウント・フィールド値をインクリメントするステップ。
（ｅ）ステーション・アドレス・フィールド値が前記送信元アドレスと一致しない場合に新たなレコードを生成し、前記新たなレコードの前記使用ロケーション・フィールドに使用中とマークするステップ。
（ｆ）前記テーブルをトラフィック・カウント・フィールド値に基づいて昇順にソートするステップ。
（ｇ）前記ステップ（ａ）から（ｆ）を、前記レコードのすべてが使用中とマークされ、ステーション・アドレス・フィールド値が新しい送信元アドレスと一致しなくなるまで繰り返すステップ。
（ｈ）上位Ｎ番目の寄与者のトラフィック・カウント・フィールド値より小さいトラフィック・カウント・フィールド値を有する前記レコードの各々に非使用とマークするステップ。
【請求項５】
前記Ｎは、前記レコード数を除去徐数で割ることにより、決定されることを特徴とする請求項４に記載の方法。
【請求項６】
制限された格納スペース内にレコードのテーブルを維持するトラフィック・アナライザを利用する通信ネットワーク上の上位Ｎ個のステーションを決定する方法であって、前記レコードの各々は使用中ロケーション・フィールド、ステーション・アドレス・フィールド及びトラフィック・カウント・フィールドを有し、Ｎはゼロより大きい整数であり、以下の（ａ）から（ｈ）のステップを有することを特徴とする方法。
（ａ）前記通信ネットワークからフレームを受信するステップ。
（ｂ）前記フレームを前記トラフィック・アナライザの内部メモリにストアするステップ。
（ｃ）前記フレームの送信元アドレスを判定するステップ。
（ｄ）前記レコードのテーブル中で、前記フレームの前記送信元アドレスと一致するステーション・アドレス・フィールド値を有するレコードをサーチするステップ。
（ｅ）一致が発見されると、前記レコードを更新するステップであって、以下の（ｅ−１）から（ｅ−３）を含むステップ。
（ｅ−１）前記レコードのトラフィック・カウント・フィールド値をインクリメントするステップ。
（ｅ−２）前記テーブルの前記レコードをストアし、前記テーブルを前記トラフィック・カウント・フィールド値に従って昇順にソートするステップ。
（ｅ−３）ステップ（ａ）に移行するステップ。
（ｆ）前記テーブルをサーチし、使用中ロケーション・フィールドに非使用中とマークされたレコードをサーチするステップ。
（ｇ）前記レコードが見出されたならば、前記ステーション・アドレス・フィールド値が前記フレームの送信元アドレスと等しい新たなレコードを生成するステップであって、以下の（ｇ−１）から（ｇ−４）を含むステップ。
（ｇ−１）前記新たなレコードの使用中ロケーション・フィールドに使用中とマークするステップ。
（ｇ−２）前記新たなレコードの前記ステーション・アドレス・フィールドに前記送信元アドレスをストアするステップ。
（ｇ−３）前記トラフィック・カウント・フィールドをゼロにするステップ。
（ｇ−４）ステップ（ｅ）に移行するステップ。
（ｈ）下記のステップ（ｈ−１）から（ｈ−３）により、前記トラフィック・カウント・フィールド値が小さい複数のレコードを破棄するステップ。
（ｈ−１）前記テーブル中で、上位Ｎ番目の寄与者を表すレコードを見出すステップ。
（ｈ−２）前記上位Ｎ番目の寄与者のトラフィック・カウント・フィールド値よりも小さいトラフィック・カウント・フィールド値を有する全てのレコードを非使用中とマークし、前記複数のレコードを破棄するステップ。
（ｈ−３）ステップ（ｆ）に移行するステップ。
【請求項７】
前記Ｎは、前記レコード数を除去徐数で割ることにより、決定されることを特徴とする請求項６に記載の方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、一般に、ネットワークへの寄与の順位が上位にある者を推定するシステム及び方法に関するものである。もっと具体的にいえば、本発明は、有限時間期間にわたって、ネットワーク上のトラフィックへの寄与が上位であるステーションを推定するためのシステム及び方法に関するものである。
【０００２】
【従来技術及びその問題点】
ローカル・エリア・ネットワーク（ＬＡＮ）は、独立した複数の装置を有するデータ通信システムであり、このシステム内の任意の１つの装置が任意の別の装置すなわちポイントと通信を行うことができる。
【０００３】
ＬＡＮにおける重大な問題点の一つは、ステーション間のトラフィック通信を管理し制御する能力である。「交通渋滞」やネットワーク「汚染」を回避し、ネットワークのスループットや応答時間を向上させるには、ネットワークにほとんどのデータを送り込んでいるのはどのステーションかを識別する必要がある。例えば、「同報通信の嵐(broadcast storm)」（極めて多数の同報通信フレームが送られ、従ってネットワークは事実上閉鎖される）時には、同報通信の最大発生源を識別することが重要になる。この情報が使用可能になると、この条件を修正するために適切な調整を行うことができる。
【０００４】
また、有用な目的を果たさなかったりネットワーク資源の大きな部分を消費するトラフィックの最大発生源が何であるかということは、低コストで動作する効率の良いネットワーク・システムを設計するためにネットワーク・マネージャが知る必要のある重要な情報である。
【０００５】
ネットワークに対する最大寄与者を識別するための方法の１つでは、ネットワークにデータを送り込んでいる各ステーション毎の項目を有するテーブルを持つ。各ステーションがデータを送出すると、そのステーションのソース・アドレスがテーブルに記録される。テーブルは、ステーションがデータを送る毎に更新される。特定の時間期間が終了すると、テーブル内で並べ替えを行い、最大の寄与者となる項目を判定する。
【０００６】
しかし、この方法は実際的ではない。往々にして、可能性のあるステーションの数は非常に多く、記憶スペースは限られている。ネットワークに寄与するステーションの数は、しばしば、記憶装置に記憶可能な最大項目数の容量を超える。その結果、ほとんどのこの種の方法では、項目数が記憶装置の容量を超えると、ネットワークに寄与する新しいステーションを無視する。このため、不正確な結果しか得られない。更に、この方法に用いられるテーブル・サイズが大きいため、こうした情報を処理し、並べ替える時間を長くする必要がある。
【０００７】
【目的】
本発明は従来技術の問題点を解消し、固定量のメモリを用いてＬＡＮに対する最大の寄与者を正確に推定することを目的とする。
【０００８】
【概要】
本発明の一実施例によれば、ＬＡＮをモニタするトラフィック・アナライザが与えられる。トラフィック・アナライザは、ＬＡＮ上で伝送されている少なくとも１つのフレームを捕捉し、このフレームをトラフィック・アナライザ・ブロックに送る。トラフィック・アナライザ・ブロックは、使用中ロケーション・フィールド、ステーション・アドレス・フィールド、及びトラフィック・カウント・フィールドから成るテーブル・レコードを持っている。トラフィック・アナライザ・ブロックは、フレームのソース・アドレスと一致するステーション・アドレス・フィールドを持つ既存のレコードのトラフィック・フィールド・カウントをインクリメントさせる。次に、レコードのテーブルは、各レコードのトラフィック・フィールド・カウント値に従って昇順に並べ替えられる。モニタされているステーションの数がレコードの個数よりも多くなると、トラフィック・アナライザ・ブロックはトラフィック・カウント・フィールドが小さいレコードを、予め定めた係数だけレコードのテーブルから除去する。その後、トラフィック・アナライザは、前述のステップを再び実行する。
【０００９】
本発明の特徴は、従来の装置が必要とするよりも大幅に少ない固定量のメモリを使用して、ＬＡＮへの最大の寄与者となるステーションを正確に推定する能力である。
【００１０】
本発明の別の特徴は、従来のプロトコル・アナライザより製造コストが安いということである。
【００１１】
本発明のこれ以外の特徴及び利点、並びに本発明の各種実施例の構造及び動作については、図面を参照して以下に詳細に説明する。
【００１２】
【実施例】
本発明は、通信ネットワークへの最大の寄与者を推定するためのシステム及び方法に関するものである。
【００１３】
図１に、本発明が動作する環境の一例を示す。具体的には、図１はＩＥＥＥ(the Institute of Electrical and Electronic Engineers)の８０２．５リング構造ローカル・エリア・ネットワーク（ＬＡＮ）のブロック図である。８０２．５リング構造ＬＡＮ１０１は、以下で解説するステーション１０２Ａ、１０２Ｂ及びトラフィック・アナライザ１０４を含む。
【００１４】
図２は、本発明が動作する環境の第２の例を示す。具体的には、ＩＥＥＥ８０２．３バス構造ＬＡＮ２０１のブロック図が示されている。８０２．３バス構造のＬＡＮ２０１は、以下で解説するステーション２０２Ａ、２０２Ｂ、２０２Ｃ及びトラフィック・アナライザ２０４を含む。図１及び図２の動作は、ほぼ同じである。論考のため、ここでは、図２の構成要素について述べることにする。
【００１５】
図２において、ステーション２０２Ａ〜２０２Ｃ（ここで、Ｃは任意の整数を表す）はネットワーク・バス２０６を介して情報の交換を行う。情報はフレームの形で伝送される。フレームとは、ステーション２０２Ａ〜０２Ｃまたは他の装置が伝送するためのデータ・パケットを構成するビット・グループである。図３は、宛先アドレス３０５、送信元アドレス３０７、及びデータ３０９を含む典型的なフレーム３０３を示す。ネットワーク・バス上にトラフィックを送信する各ステーションは、自分のアドレスをフレーム３０３の送信元アドレス・フィールドに挿入する。ネットワーク・バス２０６の各ステーション２０２Ａ〜２０２Ｃは各フレーム３０３をモニタする。ネットワーク・バス２０６のステーション２０２Ａ〜２０２Ｃが、自分のアドレスと一致する宛先アドレス３０５を持っているフレーム３０３を認識すると、そのフレーム３０３はステーション２０２Ａ〜２０２Ｃによって受信される。
【００１６】
図４は、トラフィック・アナライザの高レベルのブロック図を示す。「トラフィック・アナライザ」という用語と「プロトコル・アナライザ」という用語は同様な意味で使用できるが、ここでは説明の都合上、トラフィック・アナライザを使用する。
【００１７】
図４に示すように、本発明のトラフィック・アナライザには、ネットワーク・インターフェイス４０２、フレーム・フィルタ４０４、廃棄部４０６、フレーム捕捉バッファ４０８、プロトコル・アナライザまたはトラフィック・アナライザ・ブロック４１０、及びインターフェイス４１２が含まれている。これらの構成要素の構造は当業者にとって周知のところである。
【００１８】
トラフィック・アナライザ２０４の動作は、図６、図７、及び図８にフローチャートで一般的に示されている。これらフローチャートの各ブロックの動作を以下に示す。
【００１９】
図６のブロック６０１〜６１４
・６０１：スタート
・６０２：ネットワークからフレームが受信される
・６０４：フレームをトラフィック・アナライザの内部メモリにストアする
・６０６：フレームの送信元アドレスを判定する
・６０８：フレームの送信元アドレスに一致するアドレス・フィールドを持つレコードをテーブル中でサーチする
・６１０：そのようなレコードが見つかったか？
・６１２：当該レコードのトラフィック・フィールドをインクリメントする
・６１４：結果をトラフィック・アナライザのテーブル中に昇順にストアする
・６１６：フレームのアドレス・フィールドに等しいアドレスフィールドを持つレコードを生成する
【００２０】
図７のブロック７０２〜７１２
・７０２：使用中でないレコードをテーブル中でサーチする
・７０４：そのようなレコードが見つかったか？
・７０６：レコードに使用中のマークをつける
・７０８：フレーム・アドレスをレコード中にストアする
・７１０：トラフィック・フィールドに０を入れる
・７１２：トラフィック・フィールドの値が一番小さなレコードを破棄する
【００２１】
図８のブロック８０２〜８０４
・８０２：上位から数えてＮ番目の寄与者を見いだす
・８０４：それよりも小さなトラフィックしか持っていないレコードを皆非使用中であるとマークする
【００２２】
図６を参照すると、ステップ６０２において、ネットワーク・インターフェイス４０２がネットワーク・バス２０６からフレーム３０３を捕捉する。ネットワーク・インターフェイス４０２は、フレームのアドレス指定情報やエラー・ステータスに関係なく、ネットワーク・バス２０６上の全てのフレーム３０３を捕捉する。ネットワーク・インターフェイス４０２はフレーム３０３を捕捉するためのハードウェアとファームウェアを組み合わせたものである。ネットワーク・インターフェイス４０２にはフレーム・フィルタ４０４が結合されている。フレーム・フィルタ４０４は、フレーム３０３を解析し、廃棄部４０６Ａを介して望ましくないデータを排除する。例えば、ＩＥＥＥ８０２．５ネットワーク１０１では、「トークン」（ＬＡＮ上に現れる、連続して繰り返えされるデータ）をフィルタし、廃棄部４０６Ａを介して廃棄することができる。
【００２３】
ステップ６０４において、フレーム・フィルタ４０４を通り抜けたフレーム３０３がフレーム捕捉バッファ４０８によって受信される。フレーム捕捉バッファ４０８はフレーム３０３を一時的に記憶し、トラフィック・アナライザ・ブロック４１０に転送する。トラフィック・アナライザ・ブロック４１０はフレーム捕捉バッファ４０８から受信した各フレームを除去する。フレーム３０３がトラフィック・アナライザ・ブロック４１０によって受信されると、次に、トラフィック・アナライザ・ブロック４１０内のメモリのテーブル（以下で説明する）に記憶される。次に、フレーム３０３が廃棄部４０６Ｂを介して廃棄される。
【００２４】
図５には、こうしたテーブル５０１の例が示されている。テーブル５０１の各行はレコードを表している。各レコードには次のようなフィールド（列）が保持されている：使用中ロケーション・フィールド５０２、ステーション・アドレス・フィールド５０４、及びトラフィック・カウント・フィールド５０６。使用中ロケーション・フィールド５０２は「ブール代数」フィールドである。すなわち、使用中ロケーション・フィールド５０２は真と偽のいずれかの値をとる。使用中ロケーション・フィールド５０２は、当該レコードが使用されていなければ偽と表示され、レコードが使用中であれば真と表示される。当初、テーブル５０１内の全てのレコードは、レコードが使用中でないことを示すため、偽と表示されている。
【００２５】
テーブル５０１のサイズは、ステーション２０２の数に関係なく固定されている。テーブル５０１のサイズは０からｉ−１の範囲である。ここで、ｉはテーブルの最大項目数によって計ったテーブル・サイズである。すなわち、サイズｉのテーブルで、ｉ＝１００とすると、テーブル［０］からテーブル［９９］とラベル付けされた１００個の項目が存在する。
【００２６】
ここでまた図６を参照すれば、ステップ６０６において、トラフィック・アナライザ・ブロック４１０はネットワーク・バス２０６にフレーム３０３を送りこんだステーション２０２を示すフレーム３０３の送信元アドレス３０７を判定する。
【００２７】
ステップ６０８において、トラフィック・アナライザ・ブロック４１０は、フレーム３０３の送信元アドレス３０７を、送信元アドレス３０７と同じステーション・アドレス・フィールド５０４を持つレコードと突き合わせようとする。これは、テーブル５０１中で、次の条件を繰り返し探すことによって行われる：
（テーブル［ｉ］．使用中＝真）  ＡＮＤ
（テーブル［ｉ］．アドレス＝フレーム．送信元アドレス）
【００２８】
ステップ６１０及びステップ６１６において、フレーム３０３の送信元アドレス３０７に一致するレコードが見つからなければ、失敗表示が返される。新しいレコードを得る手続きが実行されるが、これについてはステップ６１６において後述する。
【００２９】
ステップ６１０及びステップ６１２において、フレーム３０３の送信元アドレス３０７に一致する値が入っているステーション・アドレス・フィールド５０４を持つレコードが見つかると、見つかったレコードのトラフィック・カウント・フィールド５０６がインクリメントされる。ステップ６１４において、テーブルはトラフィック・カウント・フィールド５０２に基づいて昇順で並べ替えられる。すなわち、この操作の結果、テーブル［０］は最大値のトラフィック・フィールド・カウント５０２を持ち、テーブル［１］は２番目に大きい値のトラフィック・フィールド・カウント５０２を持ち、以下同様である。他の並べ替え方法を使用してもよい。次に、トラフィック・アナライザ・ブロックはステップ６０２に戻り、このプロセスが繰り返される。
【００３０】
ステップ６１６において、トラフィック・アナライザ・ブロック４１０はフレーム３０３の送信元アドレス３０７と一致するステーション・アドレス・フィールドを持つレコードを生成する。
【００３１】
図７は、ステップ６１６を更に詳細に示す。ステップ７０２において、トラフィック・アナライザ・ブロック４１０は、テーブル５０１中で使用中でないレコードをサーチする。このサーチは、使用中でないレコードが見つかるまでテーブル５０１について繰り返し行われる。このようなレコードが見つからなければ、ステップ７１２に示すように、トラフィック・アナライザ・ブロック４１０はトラフィック・フィールドの値が最小のレコードを破棄する。テーブル５０１でこの破棄をってから、トラフィック・アナライザ・ブロック４１０はステップ７０２に戻る。ステップ７１２の破棄の過程については更に詳細に後述する。
【００３２】
使用中でないレコードが見つかると、トラフィック・アナライザはステップ７０４からステップ７０６に移行する。ステップ７０６において、使用中でないレコードに使用中のマークをつける。つまり、このレコードの使用中ロケーション・フィールド５０２は真の値をとる。
【００３３】
ステップ７０８において、フレーム３０３の送信元アドレス３０７がこのレコードのステーション・アドレス・フィールド５０４にストアされる。次に、トラフィック・カウンタ・フィールド５０６がゼロとマークされ、図６のステップ６１２に戻る。
【００３４】
ステップ７１２について更に詳細に解説する。図８は、ステップ７１２を説明している。ステップ８０２において、トラフィック・アナライザ・ブロック４１０は上位からＮ番目の寄与者を表すレコードを見つける。ここで、Ｎはテーブル５０１に寄与する全てのフレームのうちのある部分である数を表している。従って、ステップ８０２はＮ＝テーブル・サイズ／「除去徐数(prune divisor)」とラベル付けされる。
【００３５】
例えば、テーブル５０１に入っている、表の形になったフレーム３０３の中央値を見つけたいことがある。この場合、ステップ８０２はＮ＝テーブル・サイズ／２となる。
【００３６】
ステップ８０４において、Ｎ番目に大きい値のトラフィック・カウント・フィールド５０６の値よりも小さいトラフィックを持つレコードは皆非使用中とマークされる。従って、上述の例を使用することによって、中央値から（あるいは除去徐数によって決まる任意の点から）テーブル５０１の終端までの全てのレコードが、テーブル［ｉ］．使用中＝偽とセットされる。従って、寄与が最小のメンバが除去される。
【００３７】
トラフィックを最も生じる寄与者を判定するためのシステム及び方法は、トラフィックを最も多く受信するステーションにも適用することができる。用語「トラフィック」には送信と同様、受信も含まれるし、あらゆるクラスのトラフィックが含まれている。従って、当業者には明らかなように、本発明は「トラフィック」の全ての用途に適用される。
【００３８】
本発明の各種実施例について説明してきたが、これらは例として挙げただけであり、本発明の範囲に制限を加えるものではないという点を理解しなければならない。従って、本発明の広がり及び範囲は上述の実施例によって制限されるのではなく、特許請求の範囲及びその均等物によってのみ定義されなければならない。
【００３９】
【効果】
以上詳細に説明したように、本発明によれば、ネットワークのトラフィックに対する寄与の大きなステーションを限られたメモリ容量で判定することができる。
【図面の簡単な説明】
【図１】本発明を適用することが出きる環境の例を示す図。
【図２】本発明を適用することが出きる環境の例を示す図。
【図３】ＬＡＮ上のフレームの構成例を示す図。
【図４】本発明の一実施例のトラフィック・アナライザの概略ブロック図。
【図５】本発明の一実施例で使用されるテーブルの構成例を示す図。
【図６】本発明の一実施例のトラフィック・アナライザの動作を示すフローチャート。
【図７】本発明の一実施例のトラフィック・アナライザの動作を示すフローチャート。
【図８】本発明の一実施例のトラフィック・アナライザの動作を示すフローチャート。
【符号の説明】
１０１：リング構造ＬＡＮ
１０２Ａ、１０２Ｂ、２０２Ａ、２０２Ｂ、２０２Ｃ：ステーション
１０４、２０４：トラフィック・アナライザ
２０１：バス構造ＬＡＮ
２０６：ネットワーク・バス
３０３：フレーム
３０５：宛先アドレス
３０７：送信元アドレス
３０９：データ
４０２：ネットワーク・インターフェイス
４０４：フレーム・フィルタ
４０６Ａ、４０６Ｂ：廃棄部
４０８：フレーム捕捉バッファ
４１０：トラフィック・アナライザ・ブロック
４１２：インターフェイス
５０１：テーブル
５０２：使用中ロケーション・フィールド
５０４：ステーション・アドレス・フィールド
５０６：トラフィック・カウント・フィールド
【図１】
0003649451.tif 000002
【図２】
0003649451.tif 000003
【図３】
0003649451.tif 000004
【図４】
0003649451.tif 000005
【図５】
0003649451.tif 000006
【図６】
0003649451.tif 000007
【図７】
0003649451.tif 000008
【図８】
0003649451.tif 000009