(57)【要約】  ネットワークノードにおいて制御プロトコル情報を管理するための技法において、制御プロトコルメッセージが更新された制御プロトコル情報を伝送する場合は、メッセージは制御プロトコルプロセッサに転送され、メッセージが更新された制御プロトコル情報を何も伝送しない場合は、メッセージは、制御プロトコルプロセッサに到達する前にドロップされる。制御プロトコルメッセージが更新された制御プロトコル情報を伝送するか否かに関する判定は、制御プロトコルメッセージからダイジェストを生成し、ダイジェストを前に受信された制御プロトコルメッセージから生成されたダイジェストと比較することにより行われることができる。新たに生成されたダイジェストと前に受信された制御プロトコルメッセージからのダイジェストとの不一致は、現在のメッセージが更新された制御プロトコル情報を伝送することの表示である。
2009518962.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークノードにおいて制御プロトコル情報を管理するための方法であって、
（ａ）受信されたメッセージを、制御プロトコルに関する情報を伝送する制御プロトコルメッセージであると識別することと、
（ｂ）制御メッセージが更新された制御プロトコル情報を含むかどうかを判定することと、
（ｃ）（ｂ）の結果に応答して、制御プロトコルメッセージを制御プロトコルプロセッサに提供するべきか否かを判定することと
を含む、方法。
【請求項２】
制御メッセージが更新された制御プロトコル情報を含むかどうかを判定することが、制御プロトコルメッセージに関する情報を前に受信された制御プロトコルメッセージに関する情報と比較することを含む、請求項１に記載の方法。
【請求項３】
制御メッセージが更新された制御プロトコル情報を含むかどうかを判定することが、制御メッセージからダイジェストを生成し、ダイジェストを前に受信された制御プロトコルメッセージから生成されたダイジェストと比較することを含む、請求項１に記載の方法。
【請求項４】
前に受信された制御プロトコルメッセージから生成されたダイジェストをキャッシュすることをさらに含む、請求項３に記載の方法。
【請求項５】
ダイジェストが制御プロトコルメッセージ全体の一部分から生成される、請求項３に記載の方法。
【請求項６】
ダイジェストが更新された制御プロトコル情報を示すと予期される制御プロトコルメッセージ内の１つまたは複数のフィールドから生成される、請求項５に記載の方法。
【請求項７】
ダイジェストをダイジェストテーブルに維持することをさらに含む、請求項３に記載の方法。
【請求項８】
ダイジェストが各プロトコルエンティティベースで維持され、プロトコルエンティティが少なくとも１つのポート、仮想ローカルエリア識別子（ＶＬＡＮ）、インターフェース、サービス識別子、仮想回線、およびマルチプロトコルラベルスイッチング（ＭＰＬＳ）擬似回線を含む、請求項７に記載の方法。
【請求項９】
制御プロトコルメッセージが予め設定された時間間隔の間に受信されなかった場合、制御プロトコルプロセッサに有効期限終了通知を提供することをさらに含む、請求項１に記載の方法。
【請求項１０】
制御プロトコルを実行するように構成された制御プロトコルプロセッサと、
（ａ）受信されたメッセージを、制御プロトコルプロセッサによって実行される制御プロトコルに関する情報を伝送する制御プロトコルメッセージであると識別し、さらに、
（ｂ）制御メッセージが更新された制御プロトコル情報を含むかどうかを判定し、
（ｃ）（ｂ）の結果に応答して、制御プロトコルメッセージを制御プロトコルプロセッサに提供するべきか否かを判定する
ように構成された少なくとも１つの受信モジュールと
を含む、ネットワークノード。
【請求項１１】
受信モジュールが制御メッセージからダイジェストを生成し、ダイジェストを前に受信された制御プロトコルメッセージから生成されたダイジェストと比較するように構成される、請求項１０に記載のネットワークノード。
【請求項１２】
受信モジュールが前に受信された制御プロトコルメッセージから生成されたダイジェストを記憶するためのダイジェストテーブルをさらに含む、請求項１１に記載のネットワークノード。
【請求項１３】
ダイジェストが制御プロトコルメッセージ全体の一部分から生成される、請求項１１に記載のネットワークノード。
【請求項１４】
ダイジェストが更新された制御プロトコル情報を示すと予期される制御プロトコルメッセージ内の１つまたは複数のフィールドから生成される、請求項１３に記載のネットワークノード。
【請求項１５】
前に受信された制御プロトコルメッセージから生成されたダイジェストを維持するためのダイジェストテーブルをさらに含む、請求項１１に記載のネットワークノード。
【請求項１６】
ダイジェスト値が各プロトコルエンティティベースで維持され、プロトコルエンティティが少なくとも１つのポート、ＶＬＡＮ、インターフェース、サービス識別子、仮想回線、およびＭＰＬＳ擬似回線を含む、請求項１５に記載のネットワークノード。
【請求項１７】
ネットワークノードにおいて制御プロトコル情報を管理するための方法であって、
制御プロトコルに関する情報を伝送する、前に受信された制御プロトコルメッセージに関するキャッシュされたダイジェストを維持し、さらに、
制御プロトコルメッセージを受信することと、
受信された制御プロトコルメッセージからダイジェストを生成することと、
制御プロトコルメッセージをキャッシュされたダイジェストと比較することと、
ダイジェストがキャッシュされたダイジェストに一致しない場合は、受信された制御プロトコルメッセージからの制御プロトコル情報を制御プロトコルプロセッサに提供することと
を含む、方法。
【請求項１８】
制御プロトコルメッセージ全体の一部分からダイジェストが生成される、請求項１７に記載の方法。
【請求項１９】
ダイジェストが更新された制御プロトコル情報を示すと予期される制御プロトコルメッセージ内の１つまたは複数のフィールドから生成される、請求項１８に記載の方法。
【請求項２０】
ネットワークノードにおいて制御プロトコル情報を管理するための方法であって、
（ａ）制御プロトコルプロセッサで、制御プロトコルに関する制御プロトコル情報を生成することと、
（ｂ）制御プロトコル情報を送信モジュールに転送することと、
（ｃ）制御プロトコル情報を送信モジュールでキャッシュすることと、
（ｄ）送信モジュールで、キャッシュされた制御プロトコル情報から複数の制御プロトコルメッセージを生成することと、
（ｅ）制御プロトコルメッセージを制御プロトコルプロセッサによって指定された間隔で送信モジュールから送信することと、
制御プロトコルプロセッサで更新された制御プロトコル情報が生成された場合は、（ｂ）−（ｅ）を繰り返すことと
を含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２００５年１２月７日に出願された、仮特許出願第６０／７４８，１８８号の優先権を主張する。
【０００２】
本発明は、一般に、ネットワーク管理に関し、より詳細には、ネットワークノードにおいて制御プロトコル情報の配信を管理することに関する。
【背景技術】
【０００３】
フレームベースのネットワーク内の制御プロトコルは、トポロジ管理、リンクアグリゲーション、接続障害管理、双方向フロー検出などの制御機能を実行する。多くのネットワーク制御プロトコルは、ネットワーク内の他のノードに制御プロトコル情報を伝達するために制御プロトコルメッセージの送信を必要とする。指定された固定間隔での制御プロトコルメッセージの送信を必要とする制御プロトコルもある。制御プロトコルメッセージは、伝達されるべき更新された制御プロトコル情報があってもなくても、指定された固定間隔で送信されることが必要とされることが多い。例えば、制御プロトコルメッセージは、プロトコルコンバージェンスの初期期間後、第１ピアエンティティがまだアライブであることを第２ピアエンティティに示すために、第１ピアエンティティから一定の間隔で送信される。
【０００４】
通常、ネットワークノードは、制御プロトコルメッセージを認識し、制御プロトコルメッセージをプロトコル処理のための制御プロトコルプロセッサに自動的に提供するように構成される。制御プロトコルプロセッサは、受信された制御プロトコルメッセージが、プロトコル状態に影響を与える可能性がある更新された制御プロトコル情報を含んでいてもいなくても、受信された各制御プロトコルメッセージを処理するリソースを消費する。制御プロトコルの定常状態動作中、受信された制御プロトコルメッセージの多くは制御プロトコル状態を変える情報を何も伝送していない（例えば、制御プロトコルメッセージに伝送されている情報は、ピアエンティティがアライブであり、ピアエンティティへの接続が切断されていないことを示すだけである）が、それでもこれらの制御プロトコルメッセージを処理して貴重なコンピューティングリソースが消費される。
【０００５】
これを考慮すると、必要とされることは、制御プロトコルの機能にネガティブに影響を与えることなく、プロトコル状態に影響を与えない制御プロトコルメッセージを処理する負担を軽減する、プロトコル情報を管理するための技法である。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ネットワークノードにおいて制御プロトコル情報を管理するための技法は、メッセージを制御プロトコルメッセージであると識別することと、メッセージが何らかの更新された制御プロトコル情報を伝送するかどうかを確かめるためにメッセージをチェックすることとを含む。制御プロトコルメッセージが更新された制御プロトコル情報を伝送する場合は、メッセージは制御プロトコルプロセッサに転送され、メッセージが更新された制御プロトコル情報を何も伝送しない場合は、メッセージは制御プロトコルプロセッサに到達する前にドロップされる。更新された制御プロトコル情報を何も伝送しない制御プロトコルメッセージをドロップすることにより、貴重なリソースは、プロトコル状態に影響を与えない冗長制御プロトコル情報を処理して浪費されない。
【課題を解決するための手段】
【０００７】
制御プロトコル情報を管理するための前述の方法を効果的に実施するためには、制御プロトコルメッセージが更新された制御プロトコル情報を伝送するかどうかを迅速かつ効率よく判定することができることが鍵である。本発明の一実施形態によれば、制御プロトコルメッセージが更新された制御プロトコル情報を伝送するかどうかに関する判定は、制御プロトコルメッセージからダイジェストを生成し、このダイジェストを前に受信された制御プロトコルメッセージから生成されたダイジェストと比較することにより行われる。新たに生成されたダイジェストと前に受信された制御プロトコルメッセージからのダイジェストの不一致は、現在のメッセージが更新された制御プロトコル情報を伝送することの表示である。
【０００８】
目的は、制御プロトコルメッセージが更新された制御プロトコル情報を伝送するか否かを判定することなので、ダイジェストは制御プロトコルメッセージ全体の一部分から生成されることができる。具体的には、ダイジェストは、制御プロトコル情報が前に受信された制御プロトコルメッセージに関して更新されたことを示すと予期されるメッセージのフィールドから生成されることができる。
【０００９】
本発明の他の実施形態によれば、制御プロトコルプロセッサに冗長制御プロトコルメッセージを繰り返し生成させ、それらを送信モジュールに送信させるのではなく、制御プロトコルメッセージは、伝達すべき更新された制御プロトコル情報がある場合に送信モジュールに送信されるだけである。送信モジュールで受信された制御プロトコルメッセージは、送信モジュールにキャッシュされ、指定された間隔で再送信されることが必要とされる冗長制御プロトコルメッセージを生成するために使用される。キャッシュされた制御プロトコルメッセージは、送信モジュールに維持され、更新された制御プロトコル情報を伝送する新規の制御プロトコルメッセージが送信モジュールに提供されるまで、制御プロトコルメッセージを生成するために使用される。制御プロトコルメッセージを送信モジュールにキャッシュし、キャッシュされた制御プロトコルメッセージを次に続く冗長制御プロトコルメッセージを生成するために使用することにより、制御プロトコルプロセッサの処理リソースは温存され、他の動作のために使用されることができる。
【００１０】
本発明の他の態様および利点は、本発明の原理を例として示す添付の図面と併せて行われる以下の詳細な説明から明らかになるであろう。
【００１１】
説明全体にわたって、同様の参照番号が同様の要素を識別するために使用されてもよい。
【発明を実施するための最良の形態】
【００１２】
図１は、本発明の一実施形態が実施されることができるネットワークノード１００を示す。例示的ネットワークノードは、制御モジュール１０２、スイッチファブリック１０４、ならびに３つのラインカード１０６Ａ、１０６Ｂ、および１０６Ｃ（ラインカードＡ、Ｂ、およびＣ）を含む。ネットワークノードは、しばしばデータグラムと呼ばれる個別ユニットにおいてトラフィックを処理する。一実施形態では、ネットワークノードは、レイヤ２、レイヤ３、および／またはレイヤ４のヘッダ情報を使用してネットワークノードの中でトラフィックを転送するイーサネット（登録商標）スイッチ／ルータである。ネットワークノードは、イーサネット（登録商標）、ブリッジング、インターネットプロトコル（ＩＰ）、マルチプロトコルラベルスイッチング（ＭＰＬＳ）、非同期転送モード（ＡＴＭ）、およびフレームリレーなどのネットワークプロトコルをサポートするラインカードを含んでもよい。イーサネット（登録商標）ベースのスイッチ／ルータが説明されているが、開示された制御プロトコル管理技法は、他のタイプのネットワークノードにも適用されることができる。
【００１３】
ラインカード１０６Ａ−１０６Ｃは、ネットワークノードへのトラフィックを受信すること、トラフィックをバッファすること、転送決定を行うこと、制御モジュールと通信すること、ネットワークノードからのトラフィックを送信することなどの機能を実行する、少なくとも１つのポート１０８、プロセッサ１１０、およびメモリ１１２を含む。各ラインカードの中のプロセッサは、メモリに動作可能に接続される多機能プロセッサおよび／または特定用途向けプロセッサを含んでもよい。プロセッサは、パケット解析、パケット分類、および転送決定を行うことなどの機能を実行する。各ラインカードの中のメモリは、オペレーショナルコードを記憶するための回路、トラフィックをバッファするための回路、論理ポート情報を記憶するための回路、および他のデータ構造を記憶するための回路を含んでもよい。オペレーショナルコードは、通常、電気的消去可能プログラマブル読出し専用メモリ（ＥＥＰＲＯＭ）またはフラッシュＲＯＭなどの不揮発性メモリに記憶されるが、一方、トラフィックおよびデータ構造は、通常、ランダムアクセスメモリ（ＲＡＭ）などの揮発性メモリに記憶される。ＲＡＭに記憶される例としてのデータ構造は、トラフィック転送情報を含む（すなわち、出口ポートテーブル）。転送情報はまた、連想メモリ（ＣＡＭ）またはＣＡＭとＲＡＭの組合せに記憶されることができる。プロセッサおよびメモリは別々の機能ユニットとして図示されているが、場合によっては、プロセッサおよびメモリは同じデバイスに統合される。さらに、ラインカード上に複数の個別プロセッサユニットおよび複数のメモリユニットがあってもよい。一実施形態では、各ラインカードは、それ自体のオペレーティングシステムのインスタンスを稼働させるが、これは必要条件ではない。
【００１４】
スイッチファブリック１０４は、入力ポートと出力ポートとの間のデータパスを提供し、例えば、共用メモリ、共用バス、およびクロスポイントマトリックスを含んでもよい。図示されていないが、ネットワークノード１００は、冗長スイッチファブリックを備えてもよい。制御モジュールおよびラインカードは、スイッチファブリックを介して、および／またはバックプレーンチャネルなど別々の通信チャネルを介して、相互に通信することができる。ネットワークノードの他の実施形態は、スイッチファブリックを含まなくてもよく、スイッチファブリックを有することは、本発明にとって不可欠ではない。
【００１５】
制御モジュール１０２は、制御プロトコル実施機能を含めて様々な機能をサポートする。制御モジュールによって実行される例示的機能には、構成コマンドを実行すること、タイミング制御を提供すること、ハードウェアテーブルをプログラムすること、システム情報を提供すること、ユーザインターフェースをサポートすること、ハードウェア変更を管理すること、バス管理、論理ポートを管理すること、ＶＬＡＮを管理すること、および制御プロトコル処理がある。制御モジュールによって実行される例示的制御プロトコルには、スパンニングツリープロトコル（ＳＴＰ）（ＩＥＥＥ８０２．１Ｄ）、リンクアグリゲーション制御プロトコル（ＬＡＣＰ）（ＩＥＥＥ８０２．３ａｄ）、接続障害管理（ＣＦＭ）（ＩＥＥＥ８０２．１ａｇ）、連続性チェックメッセージ（ＣＣＭ）（ＩＥＥＥ８０２．１ａｇ）、および双方向フロー検出（ＢＦＤ）などのレイヤ２（Ｌ２）プロトコル、ならびにＯＳＰＦ、ＲＩＰ、およびＩＳＩＳなどのレイヤ３（Ｌ３）プロトコルがあり、レイヤは、開放型システム相互接続（ＯＳＩ）モデルで国際標準化機構（ＩＳＯ）によって定義されている。
【００１６】
制御モジュール１０２は、指定された機能を実行するためにプロセッサ１１６およびメモリ１１８を含む。プロセッサは、メモリに動作可能に接続された多機能マイクロプロセッサおよび／または特定用途向けプロセッサを含んでもよい。メモリは、オペレーショナルコードを記憶するためのＥＥＰＲＯＭまたはフラッシュＲＯＭ、ならびにトラフィックをバッファし、ポート情報およびＶＬＡＮテーブルなどのデータ構造を記憶するためのＤＲＡＭを含んでもよい。プロセッサおよびメモリが別々の機能ユニットとして図示されているが、場合によっては、プロセッサおよびメモリは、同じデバイス上に統合される。さらに、制御モジュール上に複数の個別プロセッサユニットおよび複数のメモリユニットがあってもよい。
【００１７】
前述のように、制御モジュール１０２は、様々な異なる制御プロトコルを実行する。制御プロトコルの多くは、他のネットワークノードから受信された情報に基づいてプロトコル決定を行う。具体的には、制御プロトコルメッセージの形での制御プロトコル情報がネットワークノード１００のラインカード１０６Ａ−１０６Ｃで受信される。ラインカードは、受信された制御プロトコルメッセージを制御プロトコルメッセージであると識別し、制御プロトコルメッセージを制御モジュールに転送する。本明細書では、制御プロトコルメッセージおよび制御プロトコル情報は、制御プロトコルを実行することに特定されたメッセージおよび情報を指す。制御プロトコルメッセージおよび制御プロトコル情報は、ネットワークを介してホストデバイス間で交換される典型的なペイロードデータを含まない。もっと正確に言えば、制御プロトコルメッセージおよび制御プロトコル情報は、ネットワークがデータをホストデバイス間で効果的にすることができることを保証することに特定された情報を伝送する。
【００１８】
一実施形態では、ネットワークノードの制御モジュール１０２は、制御プロトコルを実行するための制御プロトコルプロセッサを含み、各ラインカード１０６Ａ−１０６Ｃは、着信フレームを処理し、制御プロトコルメッセージを識別し、受信モジュールと制御プロトコルプロセッサとの間の制御プロトコル情報の配信を管理するための受信モジュールを含む。図２は、制御プロトコルメッセージの受信モジュール１２２から制御プロトコルプロセッサ１２０への転送を例示する。図２の実施形態では、制御プロトコルプロセッサおよび受信モジュールは、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せによって実施される機能要素である。制御プロトコルプロセッサおよび受信モジュールを実行するために使用されるプロセッサ１１０および１１６ならびにメモリ１１２および１１８は、図１に関連して上記で説明されている。代替実施形態では、制御プロトコルプロセッサは、制御モジュールにおける制御プロトコルプロセッサに追加して、またはその代わりに、各ラインカードで実施されてもよい。実際、制御プロトコルプロセッサの正確な位置は、実施時特定であり、図１および２の構成に決して限定されない。
【００１９】
図２を参照すると、プロトコル処理のために受信モジュール１２２によって受信される制御プロトコルメッセージの多くは、冗長メッセージ（例えば、通常、プロトコル安定化の初期期間後、更新されたプロトコル情報を伝送しない「ハロー」メッセージ）である。すなわち、プロトコルの定常状態動作中に生成される制御プロトコルメッセージは、通常、制御プロトコル状態を変更しようとしている制御プロトコル情報を伝送せず、したがって、制御プロトコルプロセッサによる冗長制御プロトコルメッセージの処理は、貴重な処理リソースを浪費する。本発明の一実施形態によれば、制御プロトコルメッセージであると識別されたメッセージは、メッセージが何らかの更新された制御プロトコル情報を伝送するかどうかを確かめるために受信モジュールでチェックされる。制御プロトコルメッセージが更新された制御プロトコル情報を伝送する場合は、メッセージは、受信モジュールから制御プロトコルプロセッサ１２０に転送され、メッセージが更新された制御プロトコル情報を伝送しない場合は、メッセージは、受信モジュールでドロップされる。更新された制御プロトコル情報を伝送しない制御プロトコルメッセージをドロップすることにより、貴重なリソースは、プロトコル状態に影響を与えない冗長制御プロトコル情報を処理して浪費されない。
【００２０】
図３は、本発明の一実施形態による、ネットワークノードにおいて制御プロトコル情報を管理するための方法のプロセス流れ図を示す。ブロック３０２で、メッセージが受信される。判断ポイント３０４で、メッセージが制御プロトコルメッセージであるかどうかが判定される。メッセージが制御プロトコルメッセージでない場合は、メッセージは通常のメッセージ処理を受ける、ブロック３０６。メッセージが制御プロトコルメッセージである場合は、プロセスは判断ポイント３０８に進み、そこで、制御プロトコルメッセージが更新された制御プロトコル情報を伝送するか否かが判定される。制御プロトコルメッセージが更新された制御プロトコル情報を伝送しない場合は、メッセージはドロップされる、ブロック３１２。メッセージが更新された制御プロトコル情報を含まない場合は、メッセージは制御プロトコルプロセッサに提供される、ブロック３１０。
【００２１】
制御プロトコルメッセージには制御プロトコルプロセッサに提供されないもの（例えば、更新された制御プロトコル情報を伝送しない制御プロトコルメッセージ）もあるので、制御プロトコルプロセッサは、ピアネットワークノードがアライブであるか否かを知らない可能性がある。一実施形態では、制御プロトコルプロセッサによって受信されない予期された制御プロトコルメッセージもあることに対応するために、受信モジュールは、制御プロトコルプロセッサに、一定の基準が満たされているかどうかを、例えば、指定された数の制御プロトコルメッセージが予め設定された時間間隔以内に受信されなかったどうかを通知するように構成される。一実施形態では、制御プロトコルメッセージがプロトコルに関する指定された間隔以内に受信されなかった場合、有効期限終了通知が制御プロトコルプロセッサに送信される。例えば、予め設定された最大時間間隔が制御プロトコルメッセージの受信のために設定されてもよい。時間間隔は、制御プロトコルメッセージが受信されるたびにリセットされる。制御プロトコルメッセージが予め設定された時間間隔以内に受信されなかった場合は、予期された制御プロトコルメッセージまたは制御プロトコルメッセージが受信されなかったことを示す有効期限終了通知が制御プロトコルプロセッサに送信される。予め設定された間隔の有効期限が終了した場合は、受信された次の制御プロトコルメッセージが、メッセージが更新された制御プロトコル情報を伝送するか否かに関係なく、制御プロトコルプロセッサに転送される。
【００２２】
制御プロトコル情報を管理するための前述の方法を効果的に実施するためには、制御プロトコルメッセージが更新された制御プロトコル情報を伝送するかどうかを迅速にかつ効率よく判定することができることが鍵である。本発明の一実施形態によれば、制御プロトコルメッセージが更新された制御プロトコル情報を伝送するか否かに関する判定は、制御プロトコルメッセージからダイジェストを生成し、ダイジェストを前に受信された制御プロトコルメッセージから生成されたダイジェストと比較することにより行われる。新たに生成されたダイジェストと前に受信された制御プロトコルメッセージからのダイジェストとの不一致は、現在のメッセージが更新された制御プロトコル情報を伝送することの表示とみなされる。
【００２３】
目的は制御プロトコルメッセージが更新された制御プロトコル情報を伝送するか否かを判定することなので、ダイジェストは制御プロトコルメッセージ全体の一部分から生成されることができる。具体的には、ダイジェストは、制御プロトコル情報が前に受信された制御プロトコルメッセージに関して更新されたことを示すと予期されるメッセージの予め決められたフィールドから生成されることができる。図４は、制御プロトコルメッセージを伝送するイーサネット（登録商標）フレームなどの例示的情報フレーム１３０を示す。イーサネット（登録商標）フレームは、ヘッダ１３２、ペイロード１３４、およびＣＲＣ１３６を含み、制御プロトコルメッセージは、フレームのペイロード部分に伝送される。ダイジェストは制御プロトコルメッセージから生成されるので、制御プロトコルメッセージ全体または制御プロトコルメッセージの一部分を使用することを必要とする可能性がある。制御プロトコルメッセージは、制御プロトコルに応じて多くの様々なタイプの情報を伝送することができる。制御プロトコルメッセージ内の情報にはプロトコル更新を示す情報を伝送するものもあり得るが、プロトコル更新の表示を何も提供しない、またはプロトコル更新の虚偽表示を提供する他の情報もあり得る。多くの制御プロトコルメッセージは、いくつかのフィールドが特定の情報を伝送することに特定されている指定されたフォーマットを有する。いくつかの指定されたフィールドは、メッセージにプロトコル更新が伝送されている場合に変わると予期されるだけであり、これらの変化はダイジェスト内の変化に変わる。プロトコル更新を示すプロトコルおよびフィールドの例には、ＬＡＣＰ（ＩＥＥＥ８０２．３ａｄ）フレーム内のアクターキー情報、ＳＴＰ（ＩＥＥＥ８０２．ＩＤ）フレーム内のルート識別子、またはＣＣＭフレーム（ＩＥＥＥ８０２．１ａｇ）内のリモート障害表示（ＲＤＩ）ビットがある。
【００２４】
制御プロトコルメッセージ内の他の指定されたフィールドは、たとえ更新された制御プロトコル情報がメッセージに伝送されていても、変わらない可能性がある。例えば、通常は送信ノードによってゼロに設定されている保存されたフィールド。そのようなフィールドは、たとえ更新された制御プロトコル情報がメッセージに伝送されていても変わらないので、これらのフィールドの１つだけに基づくダイジェストは、更新された制御プロトコル情報の存在を示すのに十分ではない。
【００２５】
それでもなお、たとえメッセージが更新されたプロトコル情報を何も伝送しなくても、他の指定されたフィールドがダイジェストに変化を引き起こす可能性がある。例えば、ＣＣＭフレーム（ＩＥＥＥ８０２．１ａｇ）内の「シーケンス番号」フィールド、または制御プロトコルメッセージの送信時間を示すフィールドを有する制御プロトコルメッセージ。「シーケンス番号」または送信時間は、たとえ制御プロトコルメッセージ内の情報の残部が同じままでも、制御プロトコルメッセージの送信ごとに変わる。ダイジェストが送信時間フィールドを含むフィールドを使用して生成された場合は、たとえ制御プロトコルメッセージが制御プロトコルの状態を変える情報を何も伝送しなくても、ダイジェストがメッセージ間で変わり、ダイジェスト間の不一致を生じる可能性がある。ダイジェスト比較における不一致は、受信モジュールに、制御プロトコルメッセージ間の唯一の違いがシーケンス番号またはメッセージ送信時間である場合は制御プロトコルメッセージが更新された制御プロトコル情報を伝送すると判定させることもできる。
【００２６】
制御プロトコルメッセージに伝送されている情報のタイプの違いのために、ダイジェストを生成するために使用される制御プロトコルメッセージの１つまたは複数のフィールドは、プロトコル更新を示す情報を含むが、一方プロトコル更新を示さない情報および／またはプロトコル更新を偽って示す情報は除外するように、特に選択されることができる。すなわち、ダイジェストは、更新された制御プロトコル情報を示すと予期される制御プロトコルメッセージ内の１つまたは複数のフィールドから生成される。ダイジェスト生成のために使用されるフィールドは、メッセージ内のデータの連続ストリングでも、またはメッセージ内のデータの不連続ストリングでもよいことに留意されたい。図４は、共にダイジェストを生成するために使用される制御プロトコルメッセージの２つの部分１３８および１４０を示す。
【００２７】
本明細書では、用語「ダイジェスト」は、制御プロトコルメッセージまたは制御プロトコル情報などのデータセットから生成される任意のデジタル指紋を指す。ダイジェストは、代替として、「ハッシュ」または「ハッシュ値」と呼ばれてもよい。一実施形態では、ダイジェストを生成するために使用されるダイジェスト機能または「ハッシュ機能」は、制御プロトコルメッセージの選択されたフィールドにおける違いを識別するように最適化される。
【００２８】
前述のように、本発明の一実施形態は、制御プロトコルメッセージが更新された制御プロトコル情報を伝送するか否かを識別するためにダイジェスト比較プロセスを使用することを含む。図５は、制御プロトコルメッセージが更新された制御プロトコル情報を伝送するか否かを判定するためのダイジェストベースの方法のプロセス流れ図である。この方法は、図３からの判断ポイント３０８の論理を実行するために利用されることができる。図５を参照すると、ブロック５１０で、ダイジェスト生成のために使用されるべき、制御プロトコルメッセージからの１つまたは複数のフィールドが識別される。ブロック５１２で、１つまたは複数の識別されたフィールドからダイジェストが生成される。判断ポイント５１４で、生成されたダイジェストがキャッシュされたダイジェストに一致するかどうかが判定される。ダイジェストが有効なキャッシュされたダイジェストに一致する場合は、制御プロトコルメッセージはドロップされる（すなわち、制御プロトコルプロセッサに提供されない）。一方、ダイジェストがキャッシュされたダイジェストに一致しない場合は、制御プロトコルメッセージは制御プロトコルプロセッサに提供される。下記のように、キャッシュされたダイジェストは、例えば、予め設定された時間間隔の有効期限が終了したので、または対応するプロトコルエンティティが除去されるので、アンインストールされてもよい。
【００２９】
本発明の一実施形態では、受信モジュール１２２は、更新された制御プロトコル情報に対して制御プロトコルメッセージをチェックすることをサポートするためにダイジェストテーブルを維持する。図６は、制御プロトコルメッセージが更新された制御プロトコル情報を伝送するか否かを判定するために受信モジュールによって維持されるダイジェストテーブル１５０の一実施形態を示す。ダイジェストテーブルは、ダイジェスト値がプロトコルエンティティごとに各プロトコルベースで維持されることができるように、プロトコルエンティティ識別子列、プロトコル列、およびダイジェスト列を含む。図６のダイジェストテーブルでは、プロトコルエンティティ識別子列は、制御プロトコルメッセージが受信されるエンティティ（例えば、ポート、ＶＬＡＮ、インターフェース、サービス識別子、仮想回線、ＭＰＬＳ擬似回線、またはそれらの任意の組合せ）を識別し、プロトコル列は、制御プロトコルメッセージが属するプロトコルを識別し、ダイジェスト列は、制御プロトコルメッセージの指定されたフィールドから生成されるダイジェストを識別する。一実施形態では、プロトコルがポート上で稼働するように構成されている場合は、プロトコルエンティティ識別子はポートである。
【００３０】
動作中、テーブルエントリ１５２は、プロトコルごとに、および制御プロトコルメッセージが受信されるプロトコルエンティティごとに、行われることができる。第１制御プロトコルメッセージが特定のプロトコルエンティティのために受信された場合は、ダイジェストがメッセージから生成され、新規のテーブルエントリがダイジェストテーブル１５０に追加される。テーブルエントリは、プロトコルエンティティ識別子、プロトコル、およびダイジェストを含む。最初は、ダイジェストテーブルにテーブルエントリは何もインストールされていない。新規の制御プロトコルメッセージが受信されたとき、制御プロトコルプロセッサは、対応するエントリをダイジェストテーブルにインストールするために信号を送信してもよい。テーブルエントリがインストールされ、一方、新たに生成されたダイジェストとキャッシュされたダイジェストとの一致によって、制御プロトコルメッセージはドロップされることになる。一実施形態では、テーブルエントリの有効期限は予め設定された時間間隔に限定される。時間間隔の有効期限が終了し、指定された間隔以内に制御メッセージが何も受信されないと、テーブルエントリはアンインストールされ、プロトコルエンティティに関する次に続く制御プロトコルメッセージが制御プロトコルプロセッサに提供される。例えば、新たに生成されたダイジェストがダイジェストテーブル内の対応するダイジェストに一致しない場合は、対応する制御プロトコルメッセージが制御プロトコルプロセッサに提供され、テーブルエントリがアンインストールされる。新規のテーブルエントリは、新規のダイジェスト値が生成されるまでインストールされない。新規のダイジェスト値は、最も新しく受信された制御プロトコルメッセージからのダイジェスト値である。一実施形態では、ダイジェストテーブルはＲＡＭで実施されるが、他の実施形態も可能である。
【００３１】
図７は、ダイジェストテーブル１５０、タイマ１５４、およびダイジェストジェネレータ１５６を含む図２からの受信モジュール１２２の一実施形態を示す。ダイジェストテーブルは、ダイジェスト情報、例えば図６に関して説明された情報を記憶する。タイマは、予め設定された時間限度がダイジェストテーブル内の各エントリに関連付けられることができるようにするタイミング制御機能を含み、ダイジェストジェネレータは、制御プロトコルメッセージが制御プロトコルプロセッサに提供されるべきかどうかを判定するために使用されるダイジェストを生成する。受信モジュールの前述の機能要素は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実施されることができる。一実施形態では、受信モジュールの機能要素は、図１に関して上記で説明されたように、ラインカードのプロセッサおよびメモリによって実施される。
【００３２】
図８は、制御プロトコル情報を管理するための上記で識別されたダイジェストベースの技法を実行するために制御プロトコルプロセッサと受信モジュールとの間で行われる例示的通信を示す。図８を参照すると、制御プロトコルメッセージおよび制御プロトコルメッセージのダイジェストが、ダイジェストテーブル内のエントリに一致しない制御プロトコルメッセージの受信に応答して、制御プロトコルプロセッサに提供される（通信１６０）。受信モジュールで受信される次に続くメッセージおよびダイジェストも、対応するエントリがダイジェストテーブルにインストールされるまで、制御プロトコルプロセッサに提供される。ある時点で、例えば制御プロトコルが定常状態に到達した後は、制御プロトコルは受信モジュールに、エントリをダイジェストテーブルにインストールするように指示する（通信１６２）。ダイジェストはまた、制御プロトコルメッセージが受信されると予期される最大時間間隔である関連する時間間隔（有効期限終了間隔）を有してもよい。テーブルエントリがインストールされた後は、受信された制御プロトコルメッセージは、図３および５に関して上記で説明されたように処理される。
【００３３】
テーブルエントリの有効期限が終了した場合は、テーブルエントリがアンインストールされ、受信モジュールがダイジェスト有効期限終了通知を制御プロトコルプロセッサに送信する（通信１６４）。ダイジェスト有効期限終了通知に応答して、制御プロトコルプロセッサは、例えば、制御プロトコルプロセッサの中のロジックにピアのタイムアウトを示させてもよい。プロトコルが使用不可にされた場合、または、制御プロトコルが使用不可にされたと制御プロトコルプロセッサが判定した場合は、制御プロトコルプロセッサが、受信モジュールに、明示的通知を有するテーブルエントリをアンインストールするように指示する（通信１６６）。
【００３４】
図８に示されている通信は、様々な時間に生じる可能性があり、図示された順序に限定されるべきではない。さらに、いくつかの例示的通信が制御プロトコルプロセッサおよび受信モジュールに関して説明されているが、制御プロトコルプロセッサと受信モジュールとの間の他の通信も可能である。
【００３５】
メッセージが何らかの更新された制御プロトコル情報を含むか否かに関係なく、制御プロトコルメッセージを指定された間隔で受信するように構成される制御プロトコルもある。本発明の一実施形態によれば、制御プロトコルプロセッサは、制御プロトコルプロセッサが予期された間隔以内に制御プロトコルメッセージを受信しない可能性があることに対処するように変更されることを必要とする可能性がある。一実施形態では、制御プロトコルプロセッサは、制御プロトコルメッセージが予期された時間間隔以内に受信されない場合は、プロトコル処理からタイムアウトしないように構成される。もっと正確に言えば、制御プロトコルプロセッサは、受信モジュールからの有効期限終了通知の受信に応答して、適切なタイムアウト動作を引き起こすように構成される。
【００３６】
図９は、本発明の一実施形態による、制御プロトコル情報を管理するための方法のプロセス流れ図である。ブロック９０２で、受信されたメッセージが制御プロトコルメッセージであると識別され、制御プロトコルメッセージは制御プロトコルに関する情報を伝送する。ブロック９０４で、制御メッセージが更新された制御プロトコル情報を含むかどうかが判定される。ブロック９０６で、ブロック９０４の結果に応答して、制御プロトコルメッセージを制御プロトコルプロセッサに提供するべきか否かが判定される。
【００３７】
図１０は、本発明の一実施形態による、制御プロトコル情報を管理するための別の方法のプロセス流れ図である。ブロック１００２で、前に受信された制御プロトコルメッセージに関するキャッシュされたダイジェストが維持され、制御プロトコルメッセージは制御プロトコルに関する情報を伝送する。ブロック１００４で、制御プロトコルメッセージが受信される。ブロック１００６で、受信された制御プロトコルメッセージからダイジェストが生成される。ブロック１００８で、制御プロトコルメッセージがキャッシュされたダイジェストと比較される。ブロック１０１０で、ダイジェストがキャッシュされたダイジェストに一致しない場合は、受信された制御プロトコルメッセージからの制御プロトコル情報が制御プロトコルプロセッサに提供される。
【００３８】
制御プロトコルプロセッサは、制御プロトコルメッセージを受信し処理する他に、ラインカードから他のネットワークノードに送信されるべき制御プロトコルメッセージを生成することができる。プロトコル必要条件（例えば、再送信必要条件）の結果として、送信された制御プロトコルメッセージの多くは、プロトコル状態を変える更新された制御プロトコル情報を伝送せず、通常、別の制御プロトコルプロセッサにプロトコルエンティティのピアプロトコルエンティティへの接続を通知する目的にかなうだけである。すなわち、多くの制御プロトコルメッセージは、ピアプロトコルエンティティへの接続を示す目的にかなうだけである。本発明の一実施形態によれば、制御プロトコルプロセッサに冗長制御プロトコルメッセージを繰り返し生成させ、それらを送信モジュールに送信させるのではなく、制御プロトコルメッセージは、伝達すべき更新された制御プロトコル情報がある場合に送信モジュールに送信されるだけである。送信モジュールで受信された制御プロトコルメッセージは、送信モジュールでキャッシュされ、指定された間隔でまたはいくつかのトリガに応答して再送信されることが必要とされる制御プロトコルメッセージを再生成するために使用される。キャッシュされた制御プロトコルメッセージは、更新された制御プロトコル情報を伝送する新規の制御プロトコルメッセージが送信モジュールに提供されるまで、送信モジュールで維持され、制御プロトコルメッセージを生成するために使用される。制御プロトコルメッセージを送信モジュールにキャッシュし、キャッシュされた制御プロトコルメッセージを、次に続く冗長制御プロトコルメッセージを生成するために使用することにより、制御プロトコルプロセッサの処理リソースは温存され、他の動作のために使用されることができる。
【００３９】
図１１は、ラインカード１０６Ａ−１０６Ｃに常駐する送信モジュール１７６の一実施形態を示す。送信モジュールは、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実施される機能要素である。送信モジュールをラインカードで実施するために使用されるプロセッサ１１０およびメモリ１１２は、図１に示されている。図１１の実施形態では、送信モジュールは、制御プロトコルメッセージキャッシュ１７８、タイマ１８０、および送信ロジック１８２を含む。制御プロトコルメッセージキャッシュは、制御プロトコルプロセッサから提供され、指定された一定の間隔で制御プロトコルメッセージを再生成するために使用される制御プロトコルメッセージを保持する。制御プロトコルメッセージキャッシュは、各プロトコルエンティティ（例えばポート、ＶＬＡＮ、インターフェース、サービス識別子、仮想回線、ＭＰＬＳ擬似回線、またはそれらの任意の組合せ）ベースで、制御メッセージを維持することができる。タイマは、制御プロトコルモジュールが指定された間隔で送信されることができるようにし、かつ／または制御プロトコルメッセージが限定された時間間隔の間、次に続く制御プロトコルメッセージを生成するために使用されることができるようにするタイミング制御機能を含む。送信ロジックは制御プロトコルメッセージの生成および送信を制御する。
【００４０】
図１２は、前述の送信制御技法を実行するために制御プロトコルプロセッサ１２０と送信モジュール１７６との間で行われる例示的通信を示す。図１２を参照すると、制御プロトコルプロセッサによって生成される制御プロトコルメッセージが送信モジュールに提供される（通信１８４）。制御プロトコルプロセッサは、制御プロトコルメッセージの他に、送信モジュールへの制御プロトコルメッセージのための送信命令を提供する（通信１８６）。一実施形態では、送信命令は、制御プロトコルメッセージが再送信されるべき間隔および／または再送信を開始または中止するための命令を識別する。送信モジュールは、キャッシュされた制御プロトコルメッセージから制御プロトコルメッセージを生成し、生成されたメッセージを指定された間隔で再送信する。同じキャッシュされた制御プロトコルメッセージが、新規の制御プロトコルメッセージが制御プロトコルプロセッサから受信されるまで、次に続く制御プロトコルメッセージを生成するために使用される（通信１８８）。新規の制御プロトコルメッセージが受信された後は、更新された制御プロトコル情報を伝送する可能性がある新規の制御プロトコルメッセージはキャッシュされ、次に続くメッセージを生成するために使用される。送信モジュールがそのローカルキャッシュに基づいて制御プロトコルメッセージを再送信することができない場合、送信モジュールは、制御プロトコルプロセッサが適切なアクションを取ることができるように、制御プロトコルプロセッサに通知する（通信１９０）。図１２に示されている通信は、様々な時間に生じる可能性があり、図示された順序に限定されるべきではない。
【００４１】
図１３は、本発明の一実施形態による、ネットワークノードにおいて制御プロトコル情報を管理するための方法のプロセス流れ図である。ブロック１３０２で、制御プロトコル情報が制御プロトコルプロセッサで生成され、制御プロトコル情報は制御プロトコルに関する。ブロック１３０４で、制御プロトコル情報は送信モジュールに転送される。ブロック１３０６で、制御プロトコル情報は送信モジュールでキャッシュされる。ブロック１３０８で、送信モジュールで、キャッシュされた制御プロトコル情報から複数の制御プロトコルメッセージが生成される。ブロック１３１０で、制御プロトコルメッセージが制御プロトコルプロセッサによって指定された間隔で送信モジュールから送信される。ブロック１３１２で、更新された制御プロトコル情報が制御プロトコルプロセッサで生成された場合、ブロック１３０４−１３１０が繰り返される。
【００４２】
制御プロトコルプロセッサ１２０および受信モジュール１２２は、図１および２に関して、別々の制御モジュール１０２およびラインカード１０６Ａ−１０６Ｃに配置されているように記載されているが、制御プロトコルプロセッサおよび受信モジュールは、同じラインカード上など、同じエンティティ上に配置されることもできる。例えば、一実施形態では、プロトコル処理は、制御モジュールにおいてではなく、または制御モジュールにおけるプロトコル処理に加えて、ラインカードにおいて行われる。さらに、受信モジュールに関する制御モジュールの特定の配置場所は、実施時特定であり、特定のネットワークノードのアーキテクチャおよびリソース割当に依存する。さらに、制御モジュールおよび送信モジュール１７６は、同じラインカード上に配置されることができる。
【００４３】
本発明の特定の実施形態が説明され例示されてきたが、本発明は、本明細書で説明され例示された構成要素の特定の形態または構成に限定されるべきではない。本発明は特許請求の範囲によってのみ限定される。
【図面の簡単な説明】
【００４４】
【図１】本発明の一実施形態が実施されることができるネットワークノードを示す図である。
【図２】制御プロトコルメッセージの受信モジュールから制御プロトコルプロセッサへの転送を示す図である。
【図３】本発明の一実施形態による、ネットワークノードにおいて制御プロトコル情報を管理するための方法のプロセス流れ図である。
【図４】制御プロトコルメッセージを伝送するイーサネット（登録商標）フレームなどの例示的情報フレームを示す図である。
【図５】制御プロトコルメッセージが更新された制御プロトコル情報を伝送するか否かを判定するためのダイジェストベースの方法のプロセス流れ図である。
【図６】制御プロトコルメッセージが更新された制御プロトコル情報を伝送するか否かを判定するために受信モジュールによって維持されるダイジェストテーブルの一実施形態を示す図である。
【図７】ダイジェストテーブル、タイマ、およびダイジェストジェネレータを含む図２からの受信モジュールの一実施形態を示す図である。
【図８】制御プロトコル情報を管理するためのダイジェストベースの技法を実行するために制御プロトコルプロセッサと受信モジュールとの間で行われる例示的通信を示す図である。
【図９】本発明の一実施形態による、制御プロトコル情報を管理するための方法のプロセス流れ図である。
【図１０】本発明の一実施形態による、制御プロトコル情報を管理するための別の方法のプロセス流れ図である。
【図１１】制御プロトコルメッセージキャッシュ、タイマ、および送信ロジックを含む送信モジュールの一実施形態を示す図である。
【図１２】送信制御技法を実行するために制御プロトコルプロセッサと送信モジュールとの間で行われる例示的通信を示す図である。
【図１３】本発明の一実施形態による、ネットワークノードにおいて制御プロトコル情報を管理するための方法のプロセス流れ図である。
【図１】
2009518962.tif 000003
【図２】
2009518962.tif 000004
【図３】
2009518962.tif 000005
【図４】
2009518962.tif 000006
【図５】
2009518962.tif 000007
【図６】
2009518962.tif 000008
【図７】
2009518962.tif 000009
【図８】
2009518962.tif 000010
【図９】
2009518962.tif 000011
【図１０】
2009518962.tif 000012
【図１１】
2009518962.tif 000013
【図１２】
2009518962.tif 000014
【図１３】
2009518962.tif 000015
【国際調査報告】
2009518962.tif 000016