(57)【要約】  バックアップネットワーク装置の近隣キャッシュテーブルをマスタネットワーク装置の近隣キャッシュテーブルと同期させるための方法及び装置が提供される。入力がマスタネットワーク装置の近隣キャッシュテーブルへ追加またはそこから削除されるときはいつでも、マスタネットワーク装置は追加コマンドまたは削除コマンドをバックアップネットワーク装置へ送信する。さらに、マスタまたはバックアップになるために、新たなネットワーク装置がリンクに参加するときに、同期要求及び同期肯定応答コマンドが、新たなネットワーク装置をマスタネットワーク装置と同期させるために使用されることが考えられる。また、ネットワーク装置がマスタになるときは、近隣スイッチ装置が、必要であれば、トラヒックをネットワーク装置へリダイレクトするために、それらの近隣キャッシュテーブルを更新することを可能とするため、それは更新コマンドを更新することが考えられる。【選択図】図１
2007535852.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークにおいてトラヒックを転送するためのネットワーク装置であって、
送受信機と、
同期要求が受信された場合、第１の近隣キャッシュテーブルにおける入力に関連付けられる情報を含む、同期要求に対する応答を、送受信機が送信することを可能とし、
第１の近隣キャッシュに対して削除がなされた場合、その他の近隣装置が第２の近隣キャッシュテーブルにおいて削除を反映させることを可能とするように、もう一つのネットワーク装置に対する削除に関する情報を、送受信機が送信することを可能とし、
もう一つの入力が第１の近隣キャッシュテーブルへ追加された場合、その他の近隣装置が第２の近隣キャッシュテーブルにおいてその他の入力を反映させることを可能とするために、ホストに関連付けられたその他の入力に関する情報であって、該ホストに関連付けられたリンクを介して送信される情報を、その他のネットワーク装置へ送受信機が送信することを可能とすることを含む、
アクションを実行するプロセッサと、
を備えるネットワーク装置。
【請求項２】
応答はもう一つのホストに関連付けられ、その他のホストに関連付けられたもう一つのリンクを介して送信される請求項１に記載のネットワーク装置。
【請求項３】
第１の近隣キャッシュテーブルにおける各入力は、入力アドレスを示すアドレスフィールドを含み、更に、入力アドレスへ転送するためにどのリンクが使用されるべきかを示すリンクフィールドを含み、プロセッサは更に、
送受信機が同期要求を送信することを可能とし、
受信リンクにおいて同期要求へもう一つの応答を受信し、
その他の入力のリンクフィールドが受信リンクを含むように、同期要求へのその他の要求に基づいて、追加的な入力を第１の近隣キャッシュテーブルへ追加する、
請求項１に記載のネットワーク装置。
【請求項４】
プロセッサは更に、
近隣スイッチ装置がトラヒックをネットワーク装置へリダイレクトすることを可能とするために、少なくとも一つのコマンドを送受信機が送信することを可能とする、
請求項１に記載のネットワーク要素。
【請求項５】
第１の近隣キャッシュテーブルにおける各入力が、入力アドレスを示すアドレスフィールドを含み、近隣スイッチ装置がトラヒックをネットワーク装置へリダイレクトすることを可能とするために、送受信機が少なくとも一つのコマンドを送信することを、第１の近隣キャッシュテーブルにおける各入力のために、入力アドレスを示すソースアドレスフィールドを含むパケットを送信することで、プロセッサが可能とする請求項４に記載のネットワーク装置。
【請求項６】
ネットワークにおいてトラヒックを転送するための方法であって、
ネットワーク装置において第１の近隣キャッシュテーブルを格納し、
複数のリンクに接続されたバックアップネットワーク装置において第２の近隣キャッシュテーブルを格納し、
ネットワーク装置の受信リンクにおいて、ホストアドレスに関連付けられたパケットを受信し、
第１の近隣キャッシュテーブルがホストアドレスに関連付けられた入力を含むかを判定し、
第１の近隣キャッシュテーブルが前記入力を含まない場合、受信リンクからバックアップネットワーク装置の複数のリンクの第１のリンクへ、ホストアドレスを含む追加コマンドを送信し、
複数のリンクの第１のリンクにおいて追加コマンドを受信し、
前記追加コマンドに応答して、新たな入力を第２の近隣キャッシュテーブルへ追加する、
ことを含む方法。
【請求項７】
第１及び第２の近隣キャッシュテーブルにおける各入力が入力アドレスを示すアドレスフィールドを含み、さらに、入力アドレスへ転送するために、どのリンクが使用されるべきかを示すリンクフィールドを含み、新たな入力のアドレスフィールドはホストアドレスを含み、そして、新たな入力のリンクフィールドは第１のリンクを含む請求項６に記載の方法。
【請求項８】
バックアップネットワーク装置からネットワーク装置へ同期要求を送信し、
前記同期要求に応答して、第１の近隣キャッシュテーブルにおける各入力に関連付けられ、第１のキャッシュテーブルにおける各入力のアドレスフィールドの入力アドレスを含む情報を、バックアップネットワーク装置へ、同期要求に応答して送信し、
入力アドレスを含む第１の近隣キャッシュテーブルにける入力のリンクフィールドにおいて含まれるリンクを使用することでバックアップ装置へ送信される、前記情報の各入力アドレスのために、
バックアップネットワーク装置の複数のリンクのうちの一つにおいて入力アドレスを受信し、
前記入力アドレスに応答して、その他の新たな入力のアドレスフィールドが入力アドレスを含み、新たな入力のリンクフィールドが入力アドレスを受信したバックアップネットワーク装置の複数のリンクのうちの一つを含むように、もう一つの新たな入力を第２の近隣キャッシュテーブルに追加する、
ことを更に含む請求項６に記載の方法。
【請求項９】
第１の近隣キャッシュテーブルの各入力に含まれるタイムフィールドをエージングさせ、
第１の近隣キャッシュテーブルにおける各入力のために、入力が満了したかを判定し、それが満了していれば、
第１の近隣キャッシュテーブルから前記入力を削除し、
ネットワーク装置からバックアップネットワーク装置へ、第１の近隣キャッシュテーブルから削除される入力に関連付けられた削除コマンドを送信し
第２の近隣キャッシュテーブルにおけるもう一つの入力を、削除コマンドに応答して削除する、
ことを更に含む請求項６に記載の方法。
【請求項１０】
追加コマンドを高可用性プロトコルマルチキャストアドレスへマルチキャストすることで、追加コマンドがネットワーク装置からバックアップネットワーク装置へ送信される請求項６に記載の方法。
【請求項１１】
第１の近隣キャッシュテーブルにおける各入力のために、ネットワーク装置から、入力の入力アドレスを含むソースアドレスフィールドを含む更新パケットを送信し、
前記更新パケットの少なくとも一つに応答して、ネットワーク装置へトラヒックをリダイレクトするために、近隣スイッチ装置における第３の近隣キャッシュテーブルを更新する、
請求項６に記載の方法。
【請求項１２】
ネットワークにおいてトラヒックを転送するためのネットワーク装置であって、
送受信機と、
ネットワーク装置がマスタ役を担っている場合、
ホストアドレスと関連付けられ、受信リンクにおいて受信される複数のパケットを受信し、
第１の近隣キャッシュテーブルが前記ホストアドレスに関連付けられた入力を含むかを判定し、
キャッシュテーブルが入力を含まない場合、第２の近隣キャッシュテーブルを第１のキャッシュテーブルと、バックアップネットワーク装置が同期させることを可能とするために、前記ホストアドレスをバックアップネットワーク装置へ、送受信機が送信することを可能とする、
ことを含むアクションを実行するプロセッサと、
を含むネットワーク装置。
【請求項１３】
バックアップネットワーク装置へ前記ホストアドレスを送受信機が送信することを可能とすることが、受信リンクを用いて達成される請求項１２に記載の方法。
【請求項１４】
プロセッサは、更に、ネットワークスイッチ装置がトラヒックをネットワーク装置へリダイレクトすることを可能とするために、送受信機が更新コマンドを送信できるようにする請求項１２に記載のネットワーク装置。
【請求項１５】
プロセッサは、更に、ネットワーク装置がマスタ役を担っている場合、
同期要求を受信し、
前記同期要求に応答して、第１の近隣キャッシュテーブルにおける各入力に関連付けられる情報をバックアップネットワーク装置へ、送受信機が送信することを可能する方法であって、
第１の近隣キャッシュテーブルにおける各入力は入力アドレスを示すアドレスフィールドを含み、さらに、入力アドレスへ転送するためにどのリンクを使用すべきかを示すリンクフィールドを含み、前記情報は第１のキャッシュテーブルにおける各入力のアドレスフィールドの入力アドレスを含み、入力アドレスを含む第１の近隣キャッシュテーブルにおける入力のその入力フィールドにおいて含まれるリンクを使用することで、各入力アドレスはバックアップ装置へ送信される、
請求項１２に記載の方法。
【請求項１６】
プロセッサは更に、第１の近隣キャッシュテーブルにおいて各入力のために、入力が第１の近隣キャッシュテーブルから削除された場合に、送受信機が削除コマンドをバックアップネットワーク装置へ送信することを可能とする請求項１２に記載の方法。
【請求項１７】
ネットワーク装置がマスタ役を担っている場合、プロセッサは更に、複数のパケットの転送を制御し、バックアップネットワーク装置がマスタ役を担っている場合、バックアップネットワーク装置は、複数のパケットの転送を制御する請求項１２に記載の方法。
【請求項１８】
近隣キャッシュテーブルの各入力は入力アドレスを示すアドレスフィールドを含み、そして更に、入力アドレスへ転送するためにどのリンクを使用すべきかを示すリンクフィールドを含み、
プロセッサは更に、
ネットワーク装置がバックアップ役を実行している場合、
追加コマンドがもう一方の受信リンクにおいて受信された場合、追加される入力が、追加される入力のアドレスフィールドにおいて追加コマンドに関連付けられるもう一つのホストアドレスを含み、そして追加される入力のリンクフィールドにおいてその他の受信リンクを含むように、追加される入力を第１の近隣キャッシュへ追加し、
削除コマンドが受信された場合、第１の近隣キャッシュテーブルから削除コマンドに関連付けられる入力を削除し、
ネットワーク装置がバックアップ役からマスタ役へ変更する場合、第１の近隣キャッシュテーブルにおける各入力のために、入力の入力アドレスを含むソースアドレスフィールドを含むパケットを送信する、
請求項１２に記載のネットワーク装置。
【請求項１９】
同期を管理するための命令を用いて符号化されるコンピュータ読み取り可能な記録媒体であって、
第１のネットワーク装置及び第２のネットワーク装置に高可用性を提供する手段と、
第１のネットワーク装置及び第２のネットワーク装置との間で近隣キャッシュテーブル同期情報を通信する同期手段と、
を備えるコンピュータ読み取り可能な記録媒体。
【請求項２０】
同期手段が、追加コマンド、更新コマンド、同期要求コマンド、及び同期肯定応答コマンドのうち少なくとも一つを含む請求項１９に記載のコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータネットワークに関連し、特に、バックアップ装置における近隣キャッシュテーブルをマスタ装置における近隣キャッシュテーブルと同期させるための装置及び方法に関連する。
【背景技術】
【０００２】
パケット転送は、遠隔的に宛先が指定されたパケットを、宛先への経路を有する転送ノードへ転送することで動作する。たとえば、転送ノードはファイアーウォールを含むことが考えられる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、転送ノードが使用不能となることで宛先を到達不能にすることがあり得る。
【課題を解決するための手段】
【０００４】
この問題を解決するために、転送ノードとして冗長的にサービスを提供することができる複数の独立した装置が使用される。したがって、ひとつの冗長装置が使用不能である場合、他の冗長装置が動作する。ひとつの冗長装置から他への障害迂回は高可用性（ＨＡ）プロトコルを実行することによって達成され得る。
【発明を実施するための最良の形態】
【０００５】
本発明の様々な実施形態が図面を参照しながら詳細に説明される。いくつかの図面を通して同様の番号は同様の部分及び組み合せ部分を示す。様々な実施形態への言及は本発明の範囲を限定するものではなく、それは本願に添付された特許請求の範囲に記載によってのみ限定される。また、本明細書において説明されるいかなる例も制限を意図するものではなく、単に特許請求の範囲に記載された発明のための多くの可能な実施形態のうちのいくつかを説明するものである。
【０００６】
本明細書及び特許請求の範囲を通して、文脈が明らかに指示しない限り、以下の用語は本明細書においては明確に次の意味を有している。以下に特定される意味は、用語を制限することを意図するものではないが、単にそれらの用語の説明的な例示を提供するものである。「ひとつの」、「この」及び「その」は複数のものを含み、「において」は「中において」及び「上において」を含む。ここで使用される「ひとつの実施形態において」という表現は、そうであるかもしれないが、必ずしも同じ実施形態について言及するわけではない。「信号」という用語は少なくとも電流、電圧、電荷、温度、データまたはその他の信号を意味する。
【０００７】
明確に述べられるように、本発明はバックアップネットワーク装置の近隣キャッシュテーブルをマスタネットワーク装置の近隣キャッシュテーブルと同期させるための方法及び装置に関連する。そのマスタネットワーク装置は、入力がマスタネットワーク装置の近隣キャッシュテーブルから追加または削除されるときはいつでも、追加コマンドまたは削除コマンドをバックアップネットワーク装置へ送信することが考えられる。さらに、新たなネットワーク装置がマスタまたはバックアップとなるためにそのリンクに参加する場合、同期要求及び同期肯定応答コマンドが、新たなネットワーク装置をマスタネットワーク装置と同期させるために使用され得る。また、あるネットワーク装置がマスタとなる場合、もし必要であれば、ネットワーク装置へのトラヒックをリダイレクトするために近隣スイッチ装置がそれらの近隣キャッシュテーブルを更新することを可能とするために、それは更新コマンドを送信することが考えられる。
【０００８】
図１は、システム１００の実施形態の構成図を示す。システム１００は外部ネットワーク１０２を含み、それはローカル・エリア・ネットワーク、インターネット及び同様のものを含み得る。システム１００は、内部ネットワーク１０４をもまた含み、それは、ローカル・エリア・ネットワーク及び同様のものを含み得る。システム１００は、高可用性（ＨＡ）システム１０５をも含み、それはネットワーク装置１１０及び１１１を含む。ネットワーク装置１１０は送受信機１２０を含む。ネットワーク装置は送受信機１２２を含む。さらにネットワーク装置１１０及び１１１はルータ、ブリッジ、ファイアーウォール、プロキシサーバ、スイッチ、レイヤ２転送ノード及び同様のもののうちのいずれかひとつであることが考えられる。ネットワーク装置１１０及び１１１は、それぞれ送受信機１２０及び１２２を用いることで、送信及び受信を行うようにそれぞれ構成されている。また、示されていないが、ネットワーク装置１１０及び１１１は、アクションを実行するように構成されたプロセッサをそれぞれ含む。
【０００９】
ＨＡシステム１０５は、いつでもＨＡシステム１０５におけるネットワーク装置のうちの一つがマスタの役割を担うように構成され、ＨＡシステム１０５におけるひとつ以上のその他のネットワーク装置がバックアップの役割を担うように構成されることが考えられる。一つの実施形態においては、ネットワーク装置１１０は、デフォルトマスタとして構成され、ネットワーク装置１１１は、デフォルトマスタのためのバックアップネットワーク装置として構成される。この実施形態においては、ネットワーク装置１１０は初期にマスタ役として割り当てられる。しかし、障害状態がネットワーク装置１１０において発生した場合、ネットワーク装置１１１がマスタ役を担うことが考えられる。
【００１０】
高可用性構成は、高可用性プロトコルを用いることで達成され得る。高可用性プロトコルの例は、これらに限定されるものではないが、「仮想ルータ冗長プロトコル」（ＶＲＲＰ）、「ホットスタンバイルータプロトコル」（ＨＳＲＰ）、「ＩＰスタンバイプロトコル」（ＩＰＳＴＢ）、及び同様のものを含む。
【００１１】
また、ネットワーク装置１１０及び１１１はそれぞれ近隣キャッシュテーブルを格納する。近隣キャッシュテーブルは、「アドレステーブル」、「ブリッジテーブル」、及び同様のものをとして言及される。マスタ（すなわちマスタ役を担う装置）はその近隣キャッシュテーブルの一部に基づいてパケットを転送するように構成される。ＨＡプロトコルを採用することに加えて、ネットワーク装置１１０及び１１１は近隣キャッシュテーブル同期のためのプロトコルをも採用する。
【００１２】
一つの実施形態において、新たなコマンドを既存プロトコルへ追加することで近隣キャッシュテーブル同期を実行するために、近隣キャッシュテーブル同期に関係しない既存のプロトコルが使用される。一つの実施形態において、近隣キャッシュテーブル同期のための別個のプロトコルが採用され得る。
【００１３】
マスタ役を担うネットワーク装置（１１０または１１１）が（ＨＡプロトコル、近隣キャッシュテーブル同期または同様のものに関連付けられた）パケットを受信した場合、それはパケットを近隣キャッシュテーブルの一部に基づいて転送を行う。バックアップ役を担うネットワーク装置（１１０または１１１）が（ＨＡプロトコル、近隣キャッシュテーブル同期または同様のものに関連付けられた）パケットを受信した場合、それはパケットを落とすことが考えられる。したがって、マスタはパケットの転送を制御する。障害迂回が発生した場合、転送制御は新たなマスタへ障害迂回される。
【００１４】
図２は、処理２００の一つの実施形態を示すフローチャートである。一つの実施形態において、処理２００はシステム１００によって使用される。処理２００は、ＨＡシステム１０５のようなＨＡシステムへ送信されるパケットを転送するための処理である。
【００１５】
開始ブロックの後、この処理は、ネットワーク装置１１０がマスタ役を担うか否かについて判定を行う判定ブロック２９０へ進む。もしそうであれば、この処理は、転送のためにＨＡシステムへ送信されるパケットをネットワーク装置１１０が転送することを可能とするブロック２９２へ進む。
【００１６】
その後、この処理はブロック２９２から、ネットワーク装置１１０における近隣キャッシュテーブルが変更されたかについて判定を行う判定ブロック２９４へ移動する。ネットワーク装置１１０における近隣キャッシュテーブルが変更されていない場合、この処理は、その他の処理が実行される戻りブロックへ進む。しかし、ネットワーク装置における近隣キャッシュテーブルが変更されていた場合２９４、この処理は、少なくとも一つのバックアップネットワーク装置における近隣キャッシュテーブル（たとえば、ネットワーク装置１１１）が、ネットワーク装置１１０における近隣キャッシュテーブルと同期させられるブロック２９８へ進む。その後、この処理は、ブロック２９８からその他の処理が実行される戻りブロックへ移動する。
【００１７】
判定ブロック２９０において、ネットワーク装置１１０がマスタ役を担わない場合、処理は、バックアップネットワーク装置（たとえば、ネットワーク装置１１１）が転送のためにＨＡシステムへ送信されるパケットを転送することを可能とするブロック２９６へ進む。この処理はブロック２９６からその他の処理を実行する戻りブロックへ進む。
【００１８】
図３は、システム３００の実施形態を示す。それは高可用性システムのための近隣キャッシュテーブル同期のために構成されている。システム３００は、スイッチ装置３３１−３３４、ルータ３３５−３３６、ホスト装置３４１−３４４、リンクＬ１−Ｌ１４、及びＨＡシステム３０５のような構成要素を含む。ＨＡシステム３０５はネットワーク装置３１０−３１１を含む。システム３００は、図３に示されるものよりさらに多くのスイッチ装置、ホスト装置、ルータ及びリンクを含むことが考えられる。また、図３に示されるトポロジー以外のトポロジーが使用されるかもしれない。システム３００の構成要素は、システム１００の同様に名前がつけられた構成要素と同様に動作するように構成され、いくつかの場合において、異なる方法で動作するかもしれない。
【００１９】
スイッチ３３１−３３４は、パケットスイッチ及び同様のもの、たとえば、ブリッジ、ルータ、レイヤ２スイッチ、レイヤ３スイッチ、及び同様のものをそれぞれ含み得る。ルータ３３５−３３６は、インターネットプロトコル（ＩＰ）及び同様のもののようなプロトコルを採用することでパケットをルーティングするために、それぞれ構成される。スイッチ装置３３１−３３４のそれぞれはまた、複数のリンクに参加させられる。スイッチ装置がパケットを受信した場合、それは、もう一方のリンクへパケットを送信することでパケットを転送する。一つ以上のスイッチ装置は近隣キャッシュテーブルを含み得る。
【００２０】
一つの実施形態において、ネットワーク装置３１０−３１１はそれぞれファイアーウォールを含む。任意の場合において、ネットワーク装置３１０及び３１１は複数のリンクに参加する。ネットワーク装置３１０−３１１が転送するためのパケットを受信し、そのネットワーク装置がマスタ役を担う場合、そのネットワーク装置は、もう一方のリンクへパケットを送信することでパケットを転送する。さらに、ネットワーク装置３１０及び３１１はそれぞれ近隣キャッシュテーブルを含む。
【００２１】
ホスト装置３４１−３４４は、それぞれ、ネットワークを介してパケットを送信し受信する機能を有するネットワーク装置であることが考えられる。そういった装置のセットは、ネットワーク装置のように動作するように構成されたパーソナルコンピュータ、マルチプロセッサシステム、マイクロプロセッサベースのまたはプログラム可能な汎用電気機器、ネットワークＰＣ及び同様のもののような優先通信媒体を用いて一般的に接続する装置を含む。そういった装置のセットはまた、ネットワーク電気器具のように構成されたネットワーク携帯電話、高度自動機能電話機、ポケットベル、トランシーバ、無線周波数（ＲＦ）装置、赤外線（ＩＲ）装置、ＣＢ、一つ以上の前記装置を組み合わせた統合装置、及び同様のもののような無線通信媒体を用いて典型的に接続する装置を含む。もう一つの方法として、ホスト装置３４１−３４４はそれぞれ、ＰＤＡ、ポケットＰＣ、装着可能コンピュータ及び有線または無線通信媒体を介して通信するように設置され、ネットワーク装置として動作する任意のその他の装置のような有線または無線媒体を用いて接続する機能を有する任意の装置であることが考えられる。このようなものとして、ネットワーク装置３４１−３４４はそれぞれ、ウェブサーバ、キャッシュサーバ、ファイルサーバ、ファイル格納装置、プロキシ、及び同様のものとして動作するように構成される。
【００２２】
一つの実施形態において、スイッチ装置３３１−３３４はレイヤ２スイッチであり、ネットワーク装置３１０及び３１１はレイヤ２転送ノードである。スイッチ３３１−３３１は、それぞれ、その近隣キャッシュテーブルを使用することで転送を実行するかもしれない。近隣キャッシュテーブルにおける各入力は特定のホストに関連する。そのホストは、最終ホストまたはルータであるかもしれない。また、各入力は、ホストのアドレスを示すフィールド、ホストへ到達するために介するリンクを示すフィールド、及び期限切れである入力を廃棄するためにエージング（aging）させられるタイムフィールドを含む。パケットの受信に応じて、スイッチ装置は入力を近隣キャッシュテーブルへ追加する。追加される入力は、アドレスフィールドにおけるパケットのソースアドレス、リンクであってそこからパケットがリンクフィールドにおいて受信されるリンク、及びタイム入力を含む。
【００２３】
一つの実施形態において、ホスト装置３４１は、パケットをルータ３３５へ、インターネットプロトコル（ＩＰ）を用いて送信することが考えられる。これを達成するために、ホスト装置３４１は、スイッチ装置３３３へパケットを送信することが考えられる。一つの実施形態において、スイッチ装置３３３はパケットをリンクＬ７へ、スイッチ装置３３３におけるキャッシュテーブルに基づいて送信する。パケットがネットワーク装置３１０へリンクＬ７を介して送信され、ネットワーク装置３１０がマスタである場合、ネットワーク装置３１０はパケットを転送する。一つの実施形態において、ネットワーク装置３１０がパケットをリンクＬ３へ、ネットワーク３１０の近隣キャッシュテーブルに基づいて転送する。スイッチ装置３３１は、リンクＬ３においてパケットを受信し、そのパケットを転送する。一つの実施形態において、スイッチ装置３３１はパケットをルータ３３５へリンクＬ１を用いて、スイッチ装置３３１における近隣キャッシュテーブルに基づいて、転送する。
【００２４】
ネットワーク装置３１０がマスタである場合、ネットワーク装置３１０は、パケットを転送するためにその近隣キャッシュテーブルを使用するように構成される。同様に、ネットワーク装置３１１は、ネットワーク装置３１１がマスタである場合、パケットを転送するために、その近隣キャッシュテーブルを使用するように構成される。一つの実施形態において、近隣キャッシュテーブルは高速検索のためにハッシュベースである。このマスタは、スイッチ３３１−３３４に関連して上述したのと同様の方法においてその近隣キャッシュテーブルを使用するかもしれない。
【００２５】
ネットワーク装置３１０がマスタ役を担わない場合、転送のためにネットワーク装置３１０へ送信された、それが受信する任意のパケットを落とす。同様にネットワーク装置３１１がマスタ役を担わない場合、転送のためにネットワーク装置３１１へ送信された、それが受信する任意のパケットを落とす。
【００２６】
ネットワーク装置３１０がマスタ役を担っており、障害状態がネットワーク装置３１０において発生している場合、転送のために高可用性システム３０５へ送信されるパケットの転送制御が障害迂回されるように、ネットワーク装置３１１がマスタ役を担うために高可用性プロトコルが使用されるかもしれない。一つの実施形態においては、高可用性プロトコルは、高可用性マルチキャストアドレスへのマルチキャストであるコマンドを使用する。ネットワーク装置３１０及び３１１は両方とも高可用性マルチキャストグループのメンバである。
【００２７】
さらに、ネットワーク装置３１０及び３１１は近隣キャッシュテーブル同期プロトコルを採用する。同期プロトコルは、追加、削除、肯定応答、同期要求、同期肯定応答、及び更新のようなコマンドを含むことが考えられる。同期プロトコルは、高可用性システム３０５が、障害迂回が発生したときに、比較的小さい待ち時間を伴い、途絶なしに、トラヒックが転送され得るように情報の転送の同期を維持することを可能とする。もし障害回避が発生した場合、近隣キャッシュテーブルが同期されるので、トラヒックが迅速かつ効率的に転送され続けるかもしれない。
【００２８】
一つの実施形態において、同期プロトコルの各コマンドは、プロトコルコマンドをマルチキャストすることによって、ネットワーク装置３１０及び３１１を含むマルチキャストアドレスへ送信されることができる。一つの実施形態においては、同期プロトコルのために使用されるマルチキャストアドレスは、高可用性マルチキャストアドレスとは異なる。
【００２９】
また、上述したように、別個のプロトコルを採用するよりむしろ、追加、削除、肯定応答、同期要求、同期肯定要求、及び更新のような同期コマンドが、既存プロトコルへ追加される。一つの実施形態において、追加、削除、肯定応答、同期要求、同期肯定応答、及び更新コマンドは、アドレス解決プロトコル（ＡＲＰ）に含まれるコマンドである。この実施形態において、同期マルチキャストグループに含まれる装置はこれらの含まれるＡＲＰコマンドを認識し応答するようにプログラムされる。しかし、本発明は、ＡＲＰプロトコルに制限されるものではなく、他のまたは新規なパケットタイプが採用されることも考えられる。一つの実施形態において、上述のように、これらの含まれるＡＲＰコマンドはＨＡマルチキャストグループにマルチキャストされる。これらの含まれるＡＲＰコマンドは、引き続き、ＨＡ  ＡＰＲコマンドとして言及される。
【００３０】
マスタ（たとえば、ネットワーク装置３１０）が、新たな入力をその近隣キャッシュテーブルへ追加する場合、それは、それから、追加コマンドをバックアップ（たとえば、ネットワーク装置３１１）へ送信する。この追加コマンドは、新たな入力のアドレスフィールドにおいて示されるアドレスを含む。一つの実施形態においては、コマンドは、また、その新たな入力のリンクフィールドにおいて示されるリンクを含む。もう一つの実施形態においては、そのコマンドにおいてリンクを含むよりむしろ、そのリンクはそのリンクを用いて追加コマンドを送信することによって暗示的に示される。バックアップ（たとえばネットワーク装置３１１）が、追加コマンドを受信することによって、コマンドにおいて示されるアドレスを含む新たな入力を追加する。そして、それは、明示的に、または、暗示的に追加コマンドによって示されたリンクを含む。暗示的に示されるリンクにおける実施形態において、バックアップの近隣キャッシュテーブルにおける新たな入力が、リンクであって、そのリンクから追加コマンドが受信されるリンクを含む。
【００３１】
一つの実施形態において、マスタがその近隣キャッシュテーブルから入力を削除する場合、それはバックアップへ削除コマンドを送信する。削除コマンドに応答して、バックアップは、そのキャッシュテーブルから対応する入力を削除する。この実施形態において、マスタはその近隣入力をエージングさせ、バックアップはその入力をエージングさせない。もう一つの実施形態においては、削除コマンドは使用されず、バックアップはそれ自身の近隣キャッシュテーブルをエージングさせる。
【００３２】
一つの実施形態において、バックアップは肯定応答コマンドをマスタへ、適切な追加または削除コマンドの受信に応答して送信する。
【００３３】
一つの実施形態において、ネットワーク装置（３１０または３１１）が、最初に高可用性システム３０５に参加したとき、それは同期要求コマンドを現在のマスタへ送信し、現在のマスタの近隣キャッシュテーブルにおけるすべての入力を要求する。同期要求コマンドの受信に基づいて、現在のマスタは、マスタの近隣キャッシュテーブルにおけるその入力に応じた同期肯定応答コマンドを送信する。一つの実施形態において、一つの同期肯定応答コマンドは、マスタの近隣キャッシュテーブルにおけるすべての入力のために、送信される。もう一つの実施形態においては、同じリンクフィールドを有するアドレスが単一の同期肯定応答コマンドへ組み合わされる。
【００３４】
追加コマンドと同様に、一つの実施形態において、リンクフィールドは同期肯定応答コマンドにおいて明示的に示され、もう一つの実施形態において、リンクフィールドは、近隣キャッシュテーブルのリンクフィールド内のリンクを用いて同期肯定応答コマンドを送信することで、同期肯定応答コマンドによって暗示的に示される。
【００３５】
一つの実施形態において、障害迂回状態のため、または、再起動の後にマスタの役割をリジュームした後で、ネットワーク装置（たとえば、３１０または３１１）がマスタとなった場合、マスタになることに応答して、ネットワーク装置は更新コマンドを近隣キャッシュテーブルにおけるすべての入力のために更新コマンドを送信する。この更新コマンドは、パケットのソースアドレスにおける入力のアドレスフィールドからのアドレスを含むパケットである。一つの実施形態においては、ネットワーク装置は、その近隣のものが参加しているリンクを除いて、その参加するリンクのそれぞれにおいて、更新コマンドの複製を送信する。
【００３６】
更新コマンドを受信することに応答して、その近隣スイッチ装置（たとえば３３１−３３４）は、それらの近隣キャッシュテーブルを更新し、もし必要であれば、トラヒックを新たなマスタへリダイレクトするように構成される。さらに具体的には、近隣スイッチ装置が更新コマンドパケットを受信したとき、それは、新たな入力を近隣スイッチ装置の近隣キャッシュテーブルへ追加する。その新たな入力のアドレスフィールドは、更新コマンドパケットのソースフィールドにおけるアドレスを含む。新たな入力のリンクフィールドは新たなマスタへ導くリンクを含む。
【００３７】
図４−５は処理４００の実施形態のフローチャートを示す。それは、ＨＡシステムのようなシステムにおける近隣キャッシュテーブルのために使用されることが考えられる。一つの実施形態において、処理４００が、図３のネットワーク装置３００及び３１１の一つまたは両方によって使用される。
【００３８】
開始ブロックにおいて、ネットワーク装置３１０またはネットワーク装置３１１のようなネットワーク装置が、まずリンクに登場する。その後、この処理は、ＨＡ  ＡＲＰ同期要求コマンドがマルチキャストされるブロック４０５へ進む。その後、この処理は、近隣キャッシュテーブルが生成されるブロック４５１へ移動する。その後、この処理は、受信されるかもしれない任意の同期肯定応答コマンドに応答して、近隣キャッシュテーブルへ入力が追加されるブロック４５２へ進む。
【００３９】
その後、この処理は、ネットワーク装置がマスタ役を担うかに関する判定を行う判定ブロック４５４へ進む。もしそうであれば、この処理は、ＨＡ  ＡＲＰ更新コマンドが送信されるブロック４５８へ進む。その後、この処理は、同期要求ＨＡ  ＡＲＰコマンドが受信されたかについて判定を行う判定ブロック４６０へ進む。もしそうであれば、この処理は、ＨＡ  ＡＲＰ同期肯定応答コマンドが近隣キャッシュテーブルにおける入力を転送する各近隣のもののためにマルチキャストするブロック４６６へ移動する。
【００４０】
その後、この処理は、転送のためのパケットが受信されたかについて判定が行われる判定ブロック４６１へ進む。もしそうであれば、この処理は、パケットが転送されるブロック４６８へ進む。その後、この処理は、近隣キャッシュテーブルにおける任意の入力がパケットを送信したホストのアドレスを含むかについての判定を行う判定ブロック４７０へ進む。もしそうでなければ、この処理はホストアドレスのための入力を近隣キャッシュテーブルに追加するブロック４７２へ移動する。その後、この処理は、ホストアドレスのためのＨＡ  ＡＲＰ追加コマンドをマルチキャストするブロック４７４に進む。
【００４１】
その後、この処理は、近隣キャッシュテーブルにおける各入力のために入力のタイムフィールドにおいて示される時間が満了しているかについて判定を行う判定ブロック４６２へ移動する。もしそうであれば、この処理は、満了した入力を削除するブロック４７６へ移動する。その後、この処理は、満了した入力のためのＨＡ  ＡＲＰ削除コマンドがマルチキャストされるブロック４７８へ進む。その後、この処理は、ネットワーク装置がいまだマスタ役を担うかについて判定を行う判定ブロック４６３へ移動する。
【００４２】
もしそうでなければ、この処理は、ＨＡ  ＡＲＰ追加コマンドが受信されたかに関する判定を行う判定ブロック４５５へ移動する。もしそうであれば、この処理は、ＨＡ  ＡＲＰ追加コマンドに応答して、入力が近隣キャッシュテーブル追加されるブロック４８０へ進む。その後、この処理は、ＨＡ  ＡＲＰ削除コマンドが受信されたかについて判定がなされるブロック４８２へ進む。もしそうであれば、この処理は、ＨＡ  ＡＲＰ削除コマンドに応答して、近隣キャッシュテーブルから入力を削除するブロック４８２へ進む。その後、この処理は判定ブロック４５４へ進む。
【００４３】
判定ブロック４５４において、ネットワーク装置がマスタ役を担っていないと判定された場合、この処理は判定ブロック４５５へ進む。判定ブロック４５５において、ＨＡ  ＡＲＰ追加コマンドが受信されていないと判定された場合、この処理は判定ブロック４５６へ移動する。判定ブロック４５６において、ＨＡ  ＡＲＰ削除コマンドが受信されていないと判定された場合、この処理は判定ブロック４５４へ移動する。判定ブロック４７０において、ホストアドレスが、近隣キャッシュテーブルにすでに含まれていると判定された場合、この処理は判定ブロック４６２に進む。判定ブロック４６２において、入力のタイムフィールドに含まれる時間が満了していないと判定された場合、この処理は判定ブロック４６３へ進む。判定ブロック４６３において、ネットワーク装置がいまだマスタ役を担っていると判定された場合、この処理は判定ブロック４６０へ移動する。判定ブロック４６０において、同期要求コマンドが受信されていないと判定された場合、この処理は判定ブロック４６１へ進む。判定ブロック４６１において、転送のために関連付けられたパケットが受信されていない場合、この処理はブロック４６２へ進む。
【００４４】
図５に示される判定ブロック４６０−４６３における判定の順序は任意であり、他の順序で実行されるかもしれないし、または実質的に同時に実行されるかもしれないことが理解される。同様に、図４に示される判定ブロック４５５−４５６における判定の順序は任意であり、任意の順序で実行されるかもしれないし、または実質的に同時に実行されるかもしれないことが理解される。図に示されるこれらの判定の順序は説明の目的のためだけのものであり、制限として解釈されてはならない。
【００４５】
上記説明、例、及びデータは、本発明の製品及び使用の構成の説明を提供する。本発明の多くの実施形態が、本発明の精神及び範囲から逸脱することなくなされ得るため、本発明は添付された特許請求の範囲の記載において定義されるものである。
【図面の簡単な説明】
【００４６】
【図１】図１はシステムの実施形態の構成図を示す。
【図２】図２は図１のシステムのための処理の実施形態のフローチャートを示す。
【図３】図３は高可用性システムのための近隣キャッシュテーブルのために構成されたシステムの実施形態を示す。
【図４】図４は本発明の態様に従った、高可用性システムにおける近隣キャッシュテーブル同期のための処理の実施形態のフローチャートを示す。
【図５】図５は本発明の態様に従った、高可用性システムにおける近隣キャッシュテーブル同期のための処理の実施形態のフローチャートを示す。
【図１】
2007535852.tif 000003
【図２】
2007535852.tif 000004
【図３】
2007535852.tif 000005
【図４】
2007535852.tif 000006
【図５】
2007535852.tif 000007