[0004] ハイブリッド通信ネットワークにおけるアドレス解決機構の様々な実施形態が開示される。一実施形態では、通信ネットワークの第1のハイブリッドデバイスが、メッセージが通信ネットワークの第1のハイブリッドデバイスから第2のハイブリッドデバイスに送信されるようにスケジュールされると判断する。第1のハイブリッドデバイスと第2のハイブリッドデバイスとは、それぞれ複数のネットワークインターフェースに関連付けられる。第1のハイブリッドデバイスは、第2のハイブリッドデバイスに関連付けられた1つまたは複数のアドレス解決ストアエントリに少なくとも部分的に基づいて、メッセージのための送信ルートと、第2のハイブリッドデバイスに関連付けられた対応する第1のネットワークインターフェースとを判断する。第1のハイブリッドデバイスは、第2のハイブリッドデバイスに関連付けられた第1のネットワークインターフェースに対応する第1のリンクレイヤアドレスを判断する。第2のハイブリッドデバイスは、複数のネットワークインターフェースのうちの対応するネットワークインターフェースに各々が関連付けられた、複数のリンクレイヤアドレスに関連付けられる。第1のハイブリッドデバイスは、第1のリンクレイヤアドレスを含むメッセージを生成する。第1のハイブリッドデバイスは、送信ルートを介してメッセージを送信する。
[0005] いくつかの実施形態では、方法は、メッセージが通信ネットワークの第1のハイブリッドデバイスから第2のハイブリッドデバイスに送信されるようにスケジュールされると判断することと、ここにおいて、第1のハイブリッドデバイスと第2のハイブリッドデバイスとがそれぞれ複数のネットワークインターフェースに関連付けられた、第2のハイブリッドデバイスに関連付けられた1つまたは複数のアドレス解決ストアエントリに少なくとも部分的に基づいて、メッセージのための送信ルートと、第2のハイブリッドデバイスに関連付けられた対応する第1のネットワークインターフェースとを判断することと、第2のハイブリッドデバイスに関連付けられた第1のネットワークインターフェースに対応する第1のリンクレイヤアドレスを判断することと、ここにおいて、第2のハイブリッドデバイスは、複数のネットワークインターフェースのうちの対応するネットワークインターフェースに各々が関連付けられた、複数のリンクレイヤアドレスに関連付けられた、メッセージを生成することと、第1のリンクレイヤアドレスを含む、送信ルートを介してメッセージを送信することとを備える。
[0006] いくつかの実施形態では、送信ルートを前記判断することは、第1のハイブリッドデバイスの複数のネットワークインターフェースのうちの1つまたは複数を介してメッセージを第2のハイブリッドデバイスに送信すべきかどうかを判断することを備え、第1のリンクレイヤアドレスを前記判断することは、メッセージをそれから第2のハイブリッドデバイスに送信すべき、第1のハイブリッドデバイスの複数のネットワークインターフェースのうちの対応する1つまたは複数に関連付けられた1つまたは複数のリンクレイヤアドレスを判断することを備える。
[0007] いくつかの実施形態では、送信ルートを前記判断することは、第2のハイブリッドデバイスに関連付けられた1つまたは複数のアドレス解決ストアエントリに少なくとも部分的に基づき、少なくともメッセージに関連付けられたトラフィックのクラスを含む。
[0008] いくつかの実施形態では、第1のハイブリッドデバイスのハイブリッドネットワークレイヤに関連付けられたキャッシュが1つまたは複数のアドレス解決ストアエントリを備え、ここにおいて、キャッシュは、第2のハイブリッドデバイスに関連付けられた複数のネットワークインターフェースと、第2のハイブリッドデバイスに関連付けられたネットワークアドレスと、第2のハイブリッドデバイスに関連付けられたルート情報とのうちの少なくとも1つに対応する複数のリンクレイヤアドレスのうちの少なくとも1つを備える。
[0009] いくつかの実施形態では、第2のハイブリッドデバイスに関連付けられたルート情報は、第2のハイブリッドデバイスに関連付けられた複数のネットワークインターフェースのうちの1つまたは複数について、第1のハイブリッドデバイスと第2のハイブリッドデバイスのネットワークインターフェースとの間の通信を送信するための前に選択された送信ルートと、第1のハイブリッドデバイスと第2のハイブリッドデバイスのネットワークインターフェースとの間の1つまたは複数の送信ルートに関連付けられたルートメトリック情報とを備える。
[0010] いくつかの実施形態では、本方法は、第2のハイブリッドデバイスから第1のハイブリッドデバイスにおいて第2のメッセージを受信することと、ここにおいて、第2のメッセージが、第2のハイブリッドデバイスに関連付けられた複数のネットワークインターフェースのうちの少なくとも1つを示す、第2のハイブリッドデバイスに関連付けられた複数のネットワークインターフェースのうちの少なくとも1つを反映するために、第2のハイブリッドデバイスに関連付けられた1つまたは複数のアドレス解決ストアエントリを更新することとをさらに備える。
[0011] いくつかの実施形態では、第2のハイブリッドデバイスから受信される第2のメッセージは、アドレス解決プロトコル(ARP:address resolution protocol)応答メッセージ、ここにおいて、第2のハイブリッドデバイスが第1のハイブリッドデバイスからのARP要求メッセージに応答して第2のメッセージを送信した、ARP告知メッセージ、または第2のハイブリッドデバイスに関連付けられた、複数のネットワークインターフェースと、対応する複数のリンクレイヤアドレスとを示すトポロジーメッセージのうちの1つである。
[0012] いくつかの実施形態では、第2のハイブリッドデバイスに関連付けられた第1のネットワークインターフェースに対応する第1のリンクレイヤアドレスは、第2のハイブリッドデバイスのハイブリッドネットワークレイヤに関連付けられた識別子である。
[0013] いくつかの実施形態では、メッセージが通信ネットワークの第1のハイブリッドデバイスから第2のハイブリッドデバイスに送信されるようにスケジュールされると前記判断することは、第1のハイブリッドデバイスが、第2のハイブリッドデバイスに関連付けられた1つまたは複数のアドレス解決ストアエントリを備えるかどうかを判断することと、第1のハイブリッドデバイスが、第2のハイブリッドデバイスに関連付けられた1つまたは複数のアドレス解決ストアエントリを備えると判断したことに応答して、第2のハイブリッドデバイスに関連付けられた1つまたは複数のアドレス解決ストアエントリに少なくとも部分的に基づいて、メッセージのための送信ルートと、第2のハイブリッドデバイスに関連付けられた対応する第1のネットワークインターフェースとを前記判断することと、第1のハイブリッドデバイスが、第2のハイブリッドデバイスに関連付けられた1つまたは複数のアドレス解決ストアエントリを備えないと判断したことに応答して、第1のハイブリッドデバイスから第2のハイブリッドデバイスに、第2のハイブリッドデバイスに関連付けられた複数のリンクレイヤアドレスのうちの少なくとも1つについての要求を送信することと、第2のハイブリッドデバイスに関連付けられた複数のリンクレイヤアドレスのうちの少なくとも1つについての要求を前記送信したことに応答して、第2のハイブリッドデバイスから受信された1つまたは複数の応答に少なくとも部分的に基づいて、第2のハイブリッドデバイスに関連付けられた1つまたは複数のアドレス解決ストアエントリを作成することとを備える。
[0014] いくつかの実施形態では、メッセージのための送信ルートと、第2のハイブリッドデバイスに関連付けられた対応する第1のネットワークインターフェースとを前記判断することと、第2のハイブリッドデバイスに関連付けられた第1のネットワークインターフェースに対応する第1のリンクレイヤアドレスを前記判断することとは、第1のハイブリッドデバイスの第1の処理ステージにおいて、メッセージを生成することと、第1の処理ステージに関連付けられた第1のデータベースに少なくとも部分的に基づいて、第2のハイブリッドデバイスの第1のリンクレイヤアドレスを含む、第1のハイブリッドデバイスの第2の処理ステージにおいて、第2の処理ステージに関連付けられた第2のデータベースと、第1の処理ステージによって判断された第1のリンクレイヤアドレスとに少なくとも部分的に基づいて、メッセージを第2のハイブリッドデバイスに送信するための送信ルートと、対応する宛先リンクレイヤアドレスとを判断することと、第1のハイブリッドデバイスの第2の処理ステージにおいて、第1の処理ステージによって判断された第1のリンクレイヤアドレスが、第2の処理ステージによって判断された宛先リンクレイヤアドレスとは異なるかどうかを判断することと、第1のハイブリッドデバイスの第2の処理ステージにおいて、第1の処理ステージによって判断された第1のリンクレイヤアドレスが、第2の処理ステージによって判断された宛先リンクレイヤアドレスとは異なると判断したことに応答して、メッセージ中の第1のリンクレイヤアドレスを宛先リンクレイヤアドレスと交換することと、第1のハイブリッドデバイスの第2の処理ステージにおいて、第1の処理ステージによって判断された第1のリンクレイヤアドレスが、第2の処理ステージによって判断された宛先リンクレイヤアドレスと同じであると判断したことに応答して、またはメッセージ中の第1のリンクレイヤアドレスを宛先リンクレイヤアドレスと前記交換したことに応答して、メッセージを第2のハイブリッドデバイスに送信することとを備える。
[0015] いくつかの実施形態では、第1の処理ステージに関連付けられた第1のデータベースは、第2のハイブリッドデバイスのネットワークアドレスと、第2のハイブリッドデバイスに関連付けられた第1のリンクレイヤアドレスとを備え、第2の処理ステージに関連付けられた第2のデータベースは、複数のアドレス解決ストアエントリの各々が、第2のハイブリッドデバイスのネットワークアドレスと、第2のハイブリッドデバイスに関連付けられた複数のリンクレイヤアドレスのうちの1つとを備えるように、複数のアドレス解決ストアエントリを備え、第1のデータベース中の第1のリンクレイヤアドレスは、第2のデータベースの複数のアドレス解決ストアエントリへのポインタである。
[0016] いくつかの実施形態では、第1のデータベース中の第1のリンクレイヤアドレスは、第1のハイブリッドデバイスと第2のハイブリッドデバイスとの間の好ましい送信ルートに関連付けられたリンクレイヤアドレスであるか、または第2のハイブリッドデバイスのハイブリッドネットワークレイヤに関連付けられた識別子である。
[0017] いくつかの実施形態では、第2のハイブリッドデバイスに関連付けられた複数のリンクレイヤアドレスのうちの1つまたは複数について、第2のデータベースは、第1のハイブリッドデバイスと第2のハイブリッドデバイスに関連付けられたリンクレイヤアドレスとの間の通信を送信するための前に選択された送信ルートと、第1のハイブリッドデバイスと第2のハイブリッドデバイスに関連付けられたネットワークインターフェースとの間の1つまたは複数の送信ルートに関連付けられたルートメトリック情報とを備える。
[0018] いくつかの実施形態では、第1のハイブリッドデバイスのハイブリッドネットワークレイヤは第1の処理ステージと第2の処理ステージとを備える。
[0019] いくつかの実施形態では、宛先リンクレイヤアドレスは、第2のハイブリッドデバイスがそれにおいてメッセージを受信するようにスケジュールされる、第2のハイブリッドデバイスの複数のネットワークインターフェースのうちの受信ネットワークインターフェースに関連付けられた複数のリンクレイヤアドレスのうちの第2のリンクレイヤアドレス、または受信ネットワークインターフェースに関連付けられた複数のリンクレイヤアドレスのうちの第2のリンクレイヤアドレスとは異なる複数のリンクレイヤアドレスのうちの第3のリンクレイヤアドレス、または第2のハイブリッドデバイスのハイブリッドネットワークレイヤに関連付けられた識別子のうちの1つである。
[0020] いくつかの実施形態では、本方法は、所定の時間間隔中に第2のハイブリッドデバイスから通信が受信されなかったと判断すること、所定のエージング時間間隔中に第2のハイブリッドデバイスに少なくとも1つのメッセージを送信するために第2のハイブリッドデバイスに関連付けられた1つまたは複数のアドレス解決ストアエントリのうちの第1のアドレス解決ストアエントリが使用されなかったと判断すること、あるいは第2のハイブリッドデバイスに関連付けられた1つまたは複数のアドレス解決ストアエントリのうちの第1のアドレス解決ストアエントリに割り当てられたタイムスタンプが満了したと判断することのうちの1つに応答して、第2のハイブリッドデバイスに関連付けられた1つまたは複数のアドレス解決ストアエントリのうちの少なくとも第1のアドレス解決ストアエントリを削除することをさらに備える。
[0021] いくつかの実施形態では、本方法は、第2のハイブリッドデバイスに関連付けられた第1のリンクレイヤアドレスが有効でないことを示す関連付けキャンセルメッセージを第2のハイブリッドデバイスから受信することと、第2のハイブリッドデバイスに関連付けられた第1のリンクレイヤアドレスが有効でないことを示す関連付けキャンセルメッセージを第2のハイブリッドデバイスから前記受信したことに応答して、第2のハイブリッドデバイスに関連付けられた1つまたは複数のアドレス解決ストアエントリを更新することとをさらに備える。
[0022] いくつかの実施形態では、方法は、通信ネットワークの第1のハイブリッドデバイスのハイブリッドネットワークレイヤにおいて、第1のハイブリッドデバイスの上位プロトコルレイヤからの要求メッセージを検出することと、ここにおいて、要求メッセージが、通信ネットワークの第2のハイブリッドデバイスに関連付けられたリンクレイヤアドレスについての要求を備える、第1のハイブリッドデバイスのハイブリッドネットワークレイヤにおいて、第1のハイブリッドデバイスのハイブリッドネットワークレイヤが、第2のハイブリッドデバイスに関連付けられたリンクレイヤアドレスを備えるかどうかを判断することと、第1のハイブリッドデバイスのハイブリッドネットワークレイヤが、第2のハイブリッドデバイスに関連付けられたリンクレイヤアドレスを備えると判断したことに応答して、第1のハイブリッドデバイスのハイブリッドネットワークレイヤに関連付けられた第1のデータベースから、第2のハイブリッドデバイスに関連付けられた識別子アドレスを判断することと、第1のハイブリッドデバイスの上位プロトコルレイヤに、少なくとも第2のハイブリッドデバイスに関連付けられた識別子アドレスを備える第1の応答メッセージを与えることと、要求メッセージを第2のハイブリッドデバイスに送信することなしに、ハイブリッドネットワークレイヤにおいて要求メッセージを廃棄することと、第1のハイブリッドデバイスのハイブリッドネットワークレイヤが、第2のハイブリッドデバイスに関連付けられたリンクレイヤアドレスを備えないと判断したことに応答して、要求メッセージを第2のハイブリッドデバイスに送信することと、要求メッセージを第2のハイブリッドデバイスに前記送信したことに応答して、第1のハイブリッドデバイスのハイブリッドネットワークレイヤにおいて、第2のハイブリッドデバイスから1つまたは複数の応答メッセージを受信することと、第2のハイブリッドデバイスから受信された1つまたは複数の応答メッセージに基づいて第1のデータベース中の第2のハイブリッドデバイスに関連付けられた1つまたは複数のアドレス解決ストアエントリを更新することと、第1のハイブリッドデバイスの上位プロトコルレイヤのための第1の応答メッセージを生成することと、ここにおいて、第1の応答メッセージが、少なくとも第2のハイブリッドデバイスに関連付けられた識別子アドレスを備える、を備える。
[0023] いくつかの実施形態では、第1のハイブリッドデバイスのハイブリッドネットワークレイヤが、第2のハイブリッドデバイスに関連付けられたリンクレイヤアドレスを備えないと判断したことに応答して、要求メッセージを第2のハイブリッドデバイスに前記送信することは、上位プロトコルレイヤから受信された要求メッセージを変更し、変更された要求メッセージを第2のハイブリッドデバイスに送信すること、または上位プロトコルレイヤから受信された要求メッセージを廃棄し、第2のハイブリッドデバイスに新しい要求メッセージを送信することのうちの1つを備える。
[0024] いくつかの実施形態では、第2のハイブリッドデバイスに関連付けられた識別子アドレスは第1のハイブリッドデバイスと第2のハイブリッドデバイスとの間の好ましい送信ルートに関連付けられたリンクレイヤアドレス、第2のハイブリッドデバイスのハイブリッドネットワークレイヤに関連付けられた識別子、または第2のハイブリッドデバイスの複数のリンクレイヤアドレスのうちのリンクレイヤアドレス関連の1つのうちの1つを備える。
[0025] いくつかの実施形態では、第1のハイブリッドデバイスのハイブリッドネットワークレイヤが、第2のハイブリッドデバイスに関連付けられたリンクレイヤアドレスを備えないと判断したことに応答して、要求メッセージを第2のハイブリッドデバイスに前記送信することは、アドレス解決ストアエントリを第1のデータベース中に生成することをさらに備え、第2のハイブリッドデバイスに関連付けられたネットワークレイヤアドレスと、第2のハイブリッドデバイスに関連付けられたヌルリンクレイヤアドレスとを含み、第2のハイブリッドデバイスから受信された1つまたは複数の応答メッセージに基づいて第1のデータベース中の第2のハイブリッドデバイスに関連付けられた1つまたは複数のアドレス解決ストアエントリを前記更新することは、第2のハイブリッドデバイスから受信された1つまたは複数の応答メッセージから、第2のハイブリッドデバイスに関連付けられたリンクレイヤアドレスを判断することと、ヌルリンクレイヤアドレスを第2のハイブリッドデバイスに関連付けられたリンクレイヤアドレスと交換することとを備える。
[0026] いくつかの実施形態では、本方法は、第1のハイブリッドデバイスの上位プロトコルレイヤから、第2のハイブリッドデバイスへの送信のためにスケジュールされたメッセージを受信することと、ここにおいて、メッセージが、第2のハイブリッドデバイスに関連付けられた識別子アドレスを備える、第1のデータベース中の第2のハイブリッドデバイスに関連付けられた1つまたは複数のアドレス解決ストアエントリに少なくとも部分的に基づいて、および上位プロトコルレイヤからメッセージ中で受信された識別子アドレスに基づいて、第1のハイブリッドデバイスのハイブリッドネットワークレイヤにおいて、メッセージを第2のハイブリッドデバイスに送信するための送信ルートと、対応する宛先リンクレイヤアドレスとを判断することと、上位プロトコルレイヤによって判断された識別子アドレスが、ハイブリッドネットワークレイヤによって判断された宛先リンクレイヤアドレスとは異なるかどうかを判断することと、上位プロトコルレイヤによって判断された識別子アドレスが、ハイブリッドネットワークレイヤによって判断された宛先リンクレイヤアドレスとは異なると判断したことに応答して、識別子アドレスを宛先リンクレイヤアドレスと交換することと、上位プロトコルレイヤによって判断された識別子アドレスが、ハイブリッドネットワークレイヤによって判断された宛先リンクレイヤアドレスに一致すると判断したことに応答して、または識別子アドレスを宛先リンクレイヤアドレスと前記交換したことに応答して、メッセージを第2のハイブリッドデバイスに送信することとをさらに備える。
[0027] いくつかの実施形態では、ハイブリッドネットワークデバイスは、プロセッサユニットと、プロセッサユニットと結合されたハイブリッドアドレス解決プロトコル(ARP)ユニットとを備え、ハイブリッドARPユニットは、メッセージが通信ネットワークのハイブリッドネットワークデバイスから第2のハイブリッドネットワークデバイスに送信されるようにスケジュールされると判断することと、ここにおいて、ハイブリッドネットワークデバイスと第2のハイブリッドネットワークデバイスとがそれぞれ複数のネットワークインターフェースに関連付けられた、第2のハイブリッドネットワークデバイスに関連付けられた1つまたは複数のアドレス解決ストアエントリに少なくとも部分的に基づいて、メッセージのための送信ルートと、第2のハイブリッドネットワークデバイスに関連付けられた対応する第1のネットワークインターフェースとを判断することと、第2のハイブリッドネットワークデバイスに関連付けられた第1のネットワークインターフェースに対応する第1のリンクレイヤアドレスを判断することと、ここにおいて、第2のハイブリッドネットワークデバイスは、複数のネットワークインターフェースのうちの対応するネットワークインターフェースに各々が関連付けられた、複数のリンクレイヤアドレスに関連付けられた、第1のリンクレイヤアドレスを含むメッセージを生成することと、送信ルートを介してメッセージを送信することとを行うように動作可能である。
[0028] いくつかの実施形態では、ハイブリッドネットワークデバイスのハイブリッドネットワークレイヤに関連付けられたキャッシュが1つまたは複数のアドレス解決ストアエントリを備え、キャッシュが、第2のハイブリッドネットワークデバイスに関連付けられた複数のネットワークインターフェースのうちの少なくとも1つに対応する複数のリンクレイヤアドレスと、第2のハイブリッドネットワークデバイスに関連付けられたネットワークアドレスと、第2のハイブリッドネットワークデバイスに関連付けられたルート情報とのうちの少なくとも1つを備え、第2のハイブリッドネットワークデバイスに関連付けられた複数のネットワークインターフェースのうちの1つまたは複数について、第2のハイブリッドネットワークデバイスに関連付けられたルート情報が、ハイブリッドネットワークデバイスと第2のハイブリッドネットワークデバイスのネットワークインターフェースとの間の通信を送信するための前に選択された送信ルートと、ハイブリッドネットワークデバイスと第2のハイブリッドネットワークデバイスのネットワークインターフェースとの間の1つまたは複数の送信ルートに関連付けられたルートメトリック情報とを備える。
[0029] いくつかの実施形態では、ハイブリッドARPユニットは、第2のハイブリッドネットワークデバイスから第2のメッセージを受信することと、ここにおいて、第2のメッセージが、第2のハイブリッドネットワークデバイスに関連付けられた複数のネットワークインターフェースのうちの少なくとも1つを示す、第2のハイブリッドネットワークデバイスに関連付けられた複数のネットワークインターフェースのうちの少なくとも1つを反映するために、第2のハイブリッドネットワークデバイスに関連付けられた1つまたは複数のアドレス解決ストアエントリを更新することとを行うようにさらに動作可能である。
[0030] いくつかの実施形態では、第2のハイブリッドネットワークデバイスに関連付けられた第1のネットワークインターフェースに対応する第1のリンクレイヤアドレスは、第2のハイブリッドネットワークデバイスのハイブリッドネットワークレイヤに関連付けられた識別子である。
[0031] いくつかの実施形態では、メッセージのための送信ルートと、第2のハイブリッドネットワークデバイスに関連付けられた対応する第1のネットワークインターフェースとを判断するように動作可能なハイブリッドARPユニットと、第2のハイブリッドネットワークデバイスに関連付けられた第1のネットワークインターフェースに対応する第1のリンクレイヤアドレスを判断するように動作可能なハイブリッドARPユニットとは、第1の処理ステージに関連付けられた第1のデータベースに少なくとも部分的に基づいて、第2のハイブリッドネットワークデバイスの第1のリンクレイヤアドレスを含むメッセージを生成するように動作可能なハイブリッドARPユニットの第1の処理ステージと、第2の処理ステージに関連付けられた第2のデータベースと、第1の処理ステージによって判断された第1のリンクレイヤアドレスとに少なくとも部分的に基づいて、メッセージを第2のハイブリッドネットワークデバイスに送信するための送信ルートと、対応する宛先リンクレイヤアドレスとを判断することと、第1の処理ステージによって判断された第1のリンクレイヤアドレスが、第2の処理ステージによって判断された宛先リンクレイヤアドレスとは異なるかどうかを判断することと、ハイブリッドARPユニットの第2の処理ステージが、ハイブリッドARPユニットの第1の処理ステージによって判断された第1のリンクレイヤアドレスが、ハイブリッドARPユニットの第2の処理ステージによって判断された宛先リンクレイヤアドレスとは異なると判断したことに応答して、メッセージ中の第1のリンクレイヤアドレスを宛先リンクレイヤアドレスと交換することと、ハイブリッドARPユニットの第2の処理ステージが、ハイブリッドARPユニットの第1の処理ステージによって判断された第1のリンクレイヤアドレスが、ハイブリッドARPユニットの第2の処理ステージによって判断された宛先リンクレイヤアドレスと同じであると判断したことに応答して、またはメッセージ中の第1のリンクレイヤアドレスを宛先リンクレイヤアドレスと交換したことに応答して、メッセージを第2のハイブリッドネットワークデバイスに送信することとを行うように動作可能なハイブリッドARPユニットの第2の処理ステージとを備える。
[0032] いくつかの実施形態では、ハイブリッドARPユニットの第1の処理ステージに関連付けられた第1のデータベースは、第2のハイブリッドネットワークデバイスのネットワークアドレスと、第2のハイブリッドネットワークデバイスに関連付けられた第1のリンクレイヤアドレスとを備え、ハイブリッドARPユニットの第2の処理ステージに関連付けられた第2のデータベースは、複数のアドレス解決ストアエントリの各々が、第2のハイブリッドネットワークデバイスのネットワークアドレスと、第2のハイブリッドネットワークデバイスに関連付けられた複数のリンクレイヤアドレスのうちの1つとを備えるように、複数のアドレス解決ストアエントリを備え、第1のデータベース中の複数のリンクレイヤアドレスのうちの第1のリンクレイヤアドレスが、第2のデータベースの複数のアドレス解決ストアエントリへのポインタである。
[0033] いくつかの実施形態では、第1のデータベース中の第1のリンクレイヤアドレスは、ハイブリッドネットワークデバイスと第2のハイブリッドネットワークデバイスとの間の好ましい送信ルートに関連付けられたリンクレイヤアドレスであるか、または第2のハイブリッドネットワークデバイスのハイブリッドネットワークレイヤに関連付けられた識別子である。
[0034] いくつかの実施形態では、第2のハイブリッドネットワークデバイスに関連付けられた複数のリンクレイヤアドレスのうちの1つまたは複数について、第2のデータベースは、ハイブリッドネットワークデバイスと第2のハイブリッドネットワークデバイスに関連付けられたリンクレイヤアドレスとの間の通信を送信するための前に選択された送信ルートと、ハイブリッドネットワークデバイスと第2のハイブリッドネットワークデバイスに関連付けられたネットワークインターフェースとの間の1つまたは複数の送信ルートに関連付けられたルートメトリック情報とを備える。
[0035] いくつかの実施形態では、ハイブリッドARPユニットは、第2のハイブリッドネットワークデバイスに関連付けられた第1のリンクレイヤアドレスが有効でないことを示す関連付けキャンセルメッセージを第2のハイブリッドネットワークデバイスから受信することと、ハイブリッドARPユニットが、第2のハイブリッドネットワークデバイスに関連付けられた第1のリンクレイヤアドレスが有効でないことを示す関連付けキャンセルメッセージを第2のハイブリッドネットワークデバイスから受信したことに応答して、第2のハイブリッドネットワークデバイスに関連付けられた1つまたは複数のアドレス解決ストアエントリを更新することとを行うようにさらに動作可能である。
[0036] いくつかの実施形態では、ハイブリッドネットワークデバイスは、プロセッサユニットと、ハイブリッドネットワークデバイスのハイブリッドネットワークレイヤのハイブリッドアドレス解決プロトコル(ARP)ユニットと、ここにおいて、ハイブリッドARPユニットがプロセッサユニットと結合された、を備え、ここにおいて、ハイブリッドARPユニットは、ハイブリッドネットワークデバイスの上位プロトコルレイヤからの要求メッセージを検出することと、ここにおいて、要求メッセージが、通信ネットワークの第2のハイブリッドネットワークデバイスに関連付けられたリンクレイヤアドレスについての要求を備える、ハイブリッドネットワークデバイスのハイブリッドネットワークレイヤが、第2のハイブリッドネットワークデバイスに関連付けられたリンクレイヤアドレスを備えるかどうかを判断することと、ハイブリッドARPユニットが、ハイブリッドネットワークデバイスのハイブリッドネットワークレイヤが、第2のハイブリッドネットワークデバイスに関連付けられたリンクレイヤアドレスを備えると判断したことに応答して、ハイブリッドネットワークデバイスのハイブリッドネットワークレイヤに関連付けられた第1のデータベースから、第2のハイブリッドネットワークデバイスに関連付けられた識別子アドレスを判断することと、ハイブリッドネットワークデバイスの上位プロトコルレイヤに、少なくとも第2のハイブリッドネットワークデバイスに関連付けられた識別子アドレスを備える第1の応答メッセージを与えることと、要求メッセージを第2のハイブリッドネットワークデバイスに送信することなしに、ハイブリッドネットワークレイヤにおいて要求メッセージを廃棄することと、ハイブリッドARPユニットが、ハイブリッドネットワークデバイスのハイブリッドネットワークレイヤが、第2のハイブリッドネットワークデバイスに関連付けられたリンクレイヤアドレスを備えないと判断したことに応答して、要求メッセージを第2のハイブリッドネットワークデバイスに送信することと、ハイブリッドARPユニットが要求メッセージを第2のハイブリッドネットワークデバイスに送信したことに応答して、第2のハイブリッドネットワークデバイスから1つまたは複数の応答メッセージを受信することと、第2のハイブリッドネットワークデバイスから受信された1つまたは複数の応答メッセージに基づいて第1のデータベース中の第2のハイブリッドネットワークデバイスに関連付けられた1つまたは複数のアドレス解決ストアエントリを更新することと、ハイブリッドネットワークデバイスの上位プロトコルレイヤのための第1の応答メッセージを生成することと、ここにおいて、第1の応答メッセージが、少なくとも第2のハイブリッドネットワークデバイスに関連付けられた識別子アドレスを備える、を行うように動作可能である。
[0037] いくつかの実施形態では、ハイブリッドARPユニットが、ハイブリッドネットワークデバイスのハイブリッドネットワークレイヤが、第2のハイブリッドネットワークデバイスに関連付けられたリンクレイヤアドレスを備えないと判断したことに応答して、要求メッセージを第2のハイブリッドネットワークデバイスに送信するように動作可能なハイブリッドARPユニットは、アドレス解決ストアエントリを第1のデータベース中に生成するように動作可能なハイブリッドARPユニットをさらに備え、第2のハイブリッドネットワークデバイスに関連付けられたネットワークレイヤアドレスと、第2のハイブリッドネットワークデバイスに関連付けられたヌルリンクレイヤアドレスとを含み、第2のハイブリッドネットワークデバイスから受信された1つまたは複数の応答メッセージに基づいて第1のデータベース中の第2のハイブリッドネットワークデバイスに関連付けられた1つまたは複数のアドレス解決ストアエントリを更新するように動作可能なハイブリッドARPユニットは、第2のハイブリッドネットワークデバイスから受信された1つまたは複数の応答メッセージから、第2のハイブリッドネットワークデバイスに関連付けられたリンクレイヤアドレスを判断することと、ヌルリンクレイヤアドレスを第2のハイブリッドネットワークデバイスに関連付けられたリンクレイヤアドレスと交換することとを行うように動作可能なハイブリッドARPユニットを備える。
[0038] いくつかの実施形態では、ハイブリッドARPユニットは、ハイブリッドネットワークデバイスの上位プロトコルレイヤから、第2のハイブリッドネットワークデバイスへの送信のためにスケジュールされたメッセージを受信することと、ここにおいて、メッセージが、第2のハイブリッドネットワークデバイスに関連付けられた識別子アドレスを備える、第1のデータベース中の第2のハイブリッドネットワークデバイスに関連付けられた1つまたは複数のアドレス解決ストアエントリに少なくとも部分的に基づいて、および上位プロトコルレイヤからメッセージ中で受信された識別子アドレスに基づいて、メッセージを第2のハイブリッドネットワークデバイスに送信するための送信ルートと、対応する宛先リンクレイヤアドレスとを判断することと、上位プロトコルレイヤによって判断された識別子アドレスが、ハイブリッドARPユニットによって判断された宛先リンクレイヤアドレスとは異なるかどうかを判断することと、ハイブリッドARPユニットが、上位プロトコルレイヤによって判断された識別子アドレスが、ハイブリッドARPユニットによって判断された宛先リンクレイヤアドレスとは異なると判断したことに応答して、識別子アドレスを宛先リンクレイヤアドレスと交換することと、ハイブリッドARPユニットが、上位プロトコルレイヤによって判断された識別子アドレスが、ハイブリッドARPユニットによって判断された宛先リンクレイヤアドレスに一致すると判断したことに応答して、またはハイブリッドARPユニットが識別子アドレスを宛先リンクレイヤアドレスと交換したことに応答して、メッセージを第2のハイブリッドネットワークデバイスに送信することとを行うようにさらに動作可能である。
[0039] いくつかの実施形態では、1つまたは複数のプロセッサによって実行されたとき、メッセージが通信ネットワークの第1のハイブリッドデバイスから第2のハイブリッドデバイスに送信されるようにスケジュールされると判断することと、ここにおいて、第1のハイブリッドデバイスと第2のハイブリッドデバイスとがそれぞれ複数のネットワークインターフェースに関連付けられた、第2のハイブリッドデバイスに関連付けられた1つまたは複数のアドレス解決ストアエントリに少なくとも部分的に基づいて、メッセージのための送信ルートと、第2のハイブリッドデバイスに関連付けられた対応する第1のネットワークインターフェースとを判断することと、第2のハイブリッドデバイスに関連付けられた第1のネットワークインターフェースに対応する第1のリンクレイヤアドレスを判断することと、ここにおいて、第2のハイブリッドデバイスは、複数のネットワークインターフェースのうちの対応するネットワークインターフェースに各々が関連付けられた、複数のリンクレイヤアドレスに関連付けられた、メッセージを生成することと、第1のリンクレイヤアドレスを含む、送信ルートを介してメッセージを送信することとを備える動作を1つまたは複数のプロセッサに実行させる命令を記憶した1つまたは複数の機械可読記憶媒体。
[0040] いくつかの実施形態では、メッセージのための送信ルートと、第2のハイブリッドデバイスに関連付けられた対応する第1のネットワークインターフェースとを判断する前記動作と、第2のハイブリッドデバイスに関連付けられた第1のネットワークインターフェースに対応する第1のリンクレイヤアドレスを判断する前記動作とは、第1のハイブリッドデバイスの第1の処理ステージにおいて、メッセージを生成することと、第1の処理ステージに関連付けられた第1のデータベースに少なくとも部分的に基づいて、第2のハイブリッドデバイスの第1のリンクレイヤアドレスを含む、第1のハイブリッドデバイスの第2の処理ステージにおいて、第2の処理ステージに関連付けられた第2のデータベースと、第1の処理ステージによって判断された第1のリンクレイヤアドレスとに少なくとも部分的に基づいて、メッセージを第2のハイブリッドデバイスに送信するための送信ルートと、対応する宛先リンクレイヤアドレスとを判断することと、第1のハイブリッドデバイスの第2の処理ステージにおいて、第1の処理ステージによって判断された第1のリンクレイヤアドレスが、第2の処理ステージによって判断された宛先リンクレイヤアドレスとは異なるかどうかを判断することと、第1のハイブリッドデバイスの第2の処理ステージにおいて、第1の処理ステージによって判断された第1のリンクレイヤアドレスが、第2の処理ステージによって判断された宛先リンクレイヤアドレスとは異なると判断したことに応答して、メッセージ中の第1のリンクレイヤアドレスを宛先リンクレイヤアドレスと交換することと、第1のハイブリッドデバイスの第2の処理ステージにおいて、第1の処理ステージによって判断された第1のリンクレイヤアドレスが、第2の処理ステージによって判断された宛先リンクレイヤアドレスと同じであると判断したことに応答して、またはメッセージ中の第1のリンクレイヤアドレスを宛先リンクレイヤアドレスと交換した前記動作に応答して、メッセージを第2のハイブリッドデバイスに送信することとを備える。
[0041] いくつかの実施形態では、第1の処理ステージに関連付けられた第1のデータベースは、第2のハイブリッドデバイスのネットワークアドレスと、第2のハイブリッドデバイスに関連付けられた第1のリンクレイヤアドレスとを備え、第2の処理ステージに関連付けられた第2のデータベースは、複数のアドレス解決ストアエントリの各々が、第2のハイブリッドデバイスのネットワークアドレスと、第2のハイブリッドデバイスに関連付けられた複数のリンクレイヤアドレスのうちの1つとを備えるように、複数のアドレス解決ストアエントリを備え、第1のデータベース中の第1のリンクレイヤアドレスは、第2のデータベースの複数のアドレス解決ストアエントリへのポインタである。
[0042] いくつかの実施形態では、1つまたは複数のプロセッサによって実行されたとき、通信ネットワークの第1のハイブリッドデバイスのハイブリッドネットワークレイヤにおいて、第1のハイブリッドデバイスの上位プロトコルレイヤからの要求メッセージを検出することと、ここにおいて、要求メッセージが、通信ネットワークの第2のハイブリッドデバイスに関連付けられたリンクレイヤアドレスについての要求を備える、第1のハイブリッドデバイスのハイブリッドネットワークレイヤにおいて、第1のハイブリッドデバイスのハイブリッドネットワークレイヤが、第2のハイブリッドデバイスに関連付けられたリンクレイヤアドレスを備えるかどうかを判断することと、第1のハイブリッドデバイスのハイブリッドネットワークレイヤが、第2のハイブリッドデバイスに関連付けられたリンクレイヤアドレスを備えると判断したことに応答して、第1のハイブリッドデバイスのハイブリッドネットワークレイヤに関連付けられた第1のデータベースから、第2のハイブリッドデバイスに関連付けられた識別子アドレスを判断することと、第1のハイブリッドデバイスの上位プロトコルレイヤに、少なくとも第2のハイブリッドデバイスに関連付けられた識別子アドレスを備える第1の応答メッセージを与えることと、要求メッセージを第2のハイブリッドデバイスに送信することなしに、ハイブリッドネットワークレイヤにおいて要求メッセージを廃棄することと、第1のハイブリッドデバイスのハイブリッドネットワークレイヤが、第2のハイブリッドデバイスに関連付けられたリンクレイヤアドレスを備えないと判断したことに応答して、要求メッセージを第2のハイブリッドデバイスに送信することと、要求メッセージを第2のハイブリッドデバイスに送信した前記動作に応答して、第1のハイブリッドデバイスのハイブリッドネットワークレイヤにおいて、第2のハイブリッドデバイスから1つまたは複数の応答メッセージを受信することと、第2のハイブリッドデバイスから受信された1つまたは複数の応答メッセージに基づいて第1のデータベース中の第2のハイブリッドデバイスに関連付けられた1つまたは複数のアドレス解決ストアエントリを更新することと、第1のハイブリッドデバイスの上位プロトコルレイヤのための第1の応答メッセージを生成することと、ここにおいて、第1の応答メッセージが、少なくとも第2のハイブリッドデバイスに関連付けられた識別子アドレスを備える、を備える動作を1つまたは複数のプロセッサに実行させる命令を記憶した1つまたは複数の機械可読記憶媒体。
[0043] いくつかの実施形態では、第1のハイブリッドデバイスのハイブリッドネットワークレイヤが、第2のハイブリッドデバイスに関連付けられたリンクレイヤアドレスを備えないと判断したことに応答して、要求メッセージを第2のハイブリッドデバイスに送信する前記動作は、アドレス解決ストアエントリを第1のデータベース中に生成することをさらに備え、第2のハイブリッドデバイスに関連付けられたネットワークレイヤアドレスと、第2のハイブリッドデバイスに関連付けられたヌルリンクレイヤアドレスとを含み、第2のハイブリッドデバイスから受信された1つまたは複数の応答メッセージに基づいて第1のデータベース中の第2のハイブリッドデバイスに関連付けられた1つまたは複数のアドレス解決ストアエントリを更新する前記動作は、第2のハイブリッドデバイスから受信された1つまたは複数の応答メッセージから、第2のハイブリッドデバイスに関連付けられたリンクレイヤアドレスを判断することと、ヌルリンクレイヤアドレスを第2のハイブリッドデバイスに関連付けられたリンクレイヤアドレスと交換することとを備える。
[0044] いくつかの実施形態では、上記動作は、第1のハイブリッドデバイスの上位プロトコルレイヤから、第2のハイブリッドデバイスへの送信のためにスケジュールされたメッセージを受信することと、ここにおいて、メッセージが、第2のハイブリッドデバイスに関連付けられた識別子アドレスを備える、第1のデータベース中の第2のハイブリッドデバイスに関連付けられた1つまたは複数のアドレス解決ストアエントリに少なくとも部分的に基づいて、および上位プロトコルレイヤからメッセージ中で受信された識別子アドレスに基づいて、第1のハイブリッドデバイスのハイブリッドネットワークレイヤにおいて、メッセージを第2のハイブリッドデバイスに送信するための送信ルートと、対応する宛先リンクレイヤアドレスとを判断することと、上位プロトコルレイヤによって判断された識別子アドレスが、ハイブリッドネットワークレイヤによって判断された宛先リンクレイヤアドレスとは異なるかどうかを判断することと、上位プロトコルレイヤによって判断された識別子アドレスが、ハイブリッドネットワークレイヤによって判断された宛先リンクレイヤアドレスとは異なると判断したことに応答して、識別子アドレスを宛先リンクレイヤアドレスと交換することと、上位プロトコルレイヤによって判断された識別子アドレスが、ハイブリッドネットワークレイヤによって判断された宛先リンクレイヤアドレスに一致すると判断したことに応答して、または識別子アドレスを宛先リンクレイヤアドレスと交換した前記動作に応答して、メッセージを第2のハイブリッドデバイスに送信することとをさらに備える。
[0045] 添付の図面を参照することによって、本実施形態はより良く理解され得、多数の目的、特徴、および利点が当業者に明らかになり得る。
[0053] 以下の説明は、本発明の主題の技法を実施する例示的なシステム、方法、技法、命令シーケンス、およびコンピュータプログラム製品を含む。ただし、説明する実施形態は、これらの具体的な詳細なしに実施され得ることを理解されたい。たとえば、いくつかの実施形態では、アドレス解決機構は、ワイヤレスローカルエリアネットワーク(WLAN)(たとえば、IEEE802.11ネットワーク)と、電力線通信(PLC)ネットワーク(たとえば、HomePlug AVネットワーク)と、イーサネットとに接続するハイブリッドデバイスを備えるハイブリッド通信ネットワークのために実装され得るが、実施形態はそのように限定されない。他の実施形態では、本明細書で説明するアドレス解決機構は、他の規格/プロトコル(たとえば、マルチメディアオーバーコアックスアライアンス(MoCA:Multimedia over Coax Alliance)、WiMAX(登録商標)など)を実装する他の好適なタイプのネットワークデバイスを備えるハイブリッド通信ネットワークのために実装され得る。他の事例では、説明を不明瞭にしないために、よく知られている命令インスタンス、プロトコル、構造、および技法を詳細に図示していない。
[0054] 従来の通信デバイスは、一般に、ネットワークレイヤアドレス(たとえばインターネットプロトコルバージョン4(IPv4)アドレス、インターネットプロトコルバージョン6(IPv6)アドレスなど)とリンクレイヤアドレス(たとえば、媒体アクセス制御(MAC)アドレス)との間の1対1の関連付けを有する。従来の通信デバイスは、これらのネットワークレイヤ対リンクレイヤ関連付けを含んでいるアドレス解決プロトコル(ARP)キャッシュを維持するために、およびフレームを送信するより前にリンクレイヤアドレスを解決するために、ARP技法を使用することができる。一方、ハイブリッド通信デバイスは、ハイブリッド通信デバイスを対応する通信ネットワーク(たとえば、イーサネット、WLAN、電力線ネットワークなど)に各々が結合する、複数のインターフェース(たとえば、イーサネットインターフェース、WLANインターフェース、PLCインターフェースなど)を備える。したがって、ハイブリッド通信デバイスは、一般に、単一のネットワークレイヤアドレスと複数のリンクレイヤアドレスとの間の1対多の関連付けを有する。従来のARPプロシージャ、ARPメッセージ、およびARPキャッシュは、一般に、ネットワークレイヤアドレスとリンクレイヤアドレスとの間の1対1の関連付けのみを扱うように構成される。従来のARPプロシージャ、ARPメッセージ、およびARPキャッシュは、ハイブリッド通信デバイスのネットワークレイヤアドレスとリンクレイヤアドレスとの間の1対多の関連付け、およびハイブリッド通信ネットワークを正しく扱うには不十分であり得る。
[0055] ハイブリッドデバイスが、ハイブリッド通信ネットワークにおいて他のハイブリッドデバイスの単一のネットワークレイヤアドレスと複数のリンクレイヤアドレスとの間の1対多の関連付けを管理するためのハイブリッドARP機能を実行するように構成され得る。いくつかの実施形態では、ハイブリッドデバイスのハイブリッドネットワーキングサブレイヤが、ハイブリッドARPユニットと、対応するハイブリッドARPキャッシュとを備えることができる。ハイブリッドARPユニットは、ハイブリッド通信ネットワークにおいてネットワークレイヤアドレスを1つまたは複数のリンクレイヤアドレスに関連付けるためのアドレス関連付け情報を管理することができる。ハイブリッドARPユニットは、図2および図4を参照しながら以下で説明するように、このアドレス関連付け情報を使用して、アドレスを解決し、送信されるようにスケジュールされたフレームにおいて適切な宛先リンクレイヤアドレスをポピュレートすることができる。ハイブリッド通信ネットワーク中の各ハイブリッドデバイスについて、ハイブリッドARPキャッシュは、同じネットワークレイヤアドレスを各々が備えるが、異なるリンクレイヤアドレスを各々が備える、複数のデータエントリを備えることができる。ハイブリッドARPキャッシュ中のデータエントリの各々は送信ルート情報にも関連付けられ得る。ハイブリッドARPユニットは、送信されるようにスケジュールされたフレームのための宛先リンクレイヤアドレスと送信ルートとを選択するために、アドレス関連付け情報と、対応する送信ルート情報とを使用することができる。いくつかの実施形態では、ハイブリッドARPユニットは、図5において以下で説明するように、ネットワークレイヤアドレスを解決することと、送信ルート(および/または送信インターフェース)を選択することとを行うために、ハイブリッドネットワーキングサブレイヤ内で2ステージプロセスを実装するように構成され得る。いくつかの実施形態では、ハイブリッドARPユニットは、(上位プロトコルレイヤによって実装される)従来のARP機能と連携して動作するように構成され得る。図3および図6において以下でさらに説明するように、ハイブリッドARPユニットは、上位プロトコルレイヤの従来のARP機能と、ハイブリッド通信ネットワークの1つまたは複数のハイブリッドデバイスとの間の「プロキシ」として働くことができる。ハイブリッドARP機能を実行することは、ハイブリッドデバイスが、ハイブリッド通信ネットワークにおいてすべてのハイブリッドデバイスのためのネットワークレイヤアドレス対リンクレイヤアドレス関連付けの完全なマッピングの知識を有することを保証することができる。本明細書で説明するハイブリッドARP機能はまた、ネットワークレイヤアドレスとリンクレイヤアドレスとの間の1対多の関連付けが、(もしあれば)従来のARP機能の動作に干渉することなしに適切に扱われることを保証するのを助けることができる。
[0056] 図1は、ハイブリッドアドレス解決機構を含むハイブリッド通信ネットワーク100を示すブロック図である。ハイブリッド通信ネットワーク100はハイブリッドデバイス102および110を備える。図1の、例では、ハイブリッドデバイス110は宛先またはターゲットハイブリッドデバイスである。ハイブリッドデバイス102はソースハイブリッドデバイスまたはフォワーディングハイブリッドデバイスであり得る。ハイブリッドデバイス102は、ハイブリッドARPユニット104と、ハイブリッドARPキャッシュ106と、トランシーバユニット108とを備える。宛先ハイブリッドデバイス110は、ハイブリッドARPユニット112と、ハイブリッドARPキャッシュ114と、トランシーバユニット116とを備える。図1には示されていないが、ハイブリッドデバイス102および110は(たとえば、送信されるようにスケジュールされたフレームを生成すること、受信されたフレームを処理することなどを行うための)他の好適な処理ユニットを備えることができる。一例では、ハイブリッドデバイス102および110の各々は、ハイブリッドデバイスが、それぞれ、電力線ネットワーク、イーサネット、およびWLANに接続することを可能にする、PLCインターフェース、イーサネットインターフェース、および/またはWLANインターフェースを備えることができる。いくつかの実装形態では、ハイブリッドデバイス102および110は、それぞれ、ラップトップコンピュータ、タブレットコンピュータ、モバイルフォン、スマートアプライアンス、ゲーミングコンソール、アクセスポイントなどの電子デバイス、または好適な通信機能(たとえば、WLAN通信機能、電力線通信機能、イーサネット通信機能など)をもつ他の好適な電子デバイスであり得る。いくつかの実施形態では、電力線通信プロトコル、WLAN通信プロトコル、およびイーサネット通信プロトコルに加えて、ハイブリッドデバイス102および110の通信ユニットは、他のタイプの通信(たとえば、Bluetooth(登録商標)、WiMAXなど)を可能にするために他のプロトコルおよび機能を実装することができる。
[0057] いくつかの実装形態では、ハイブリッドデバイス102(および宛先ハイブリッドデバイス110も)のネットワーキング機能は、図2に示されているように、国際標準化機構(ISO)開放型システム間相互接続(OSI)参照モデルに一致する、「レイヤード」手法を使用してサブ機能に区分され得る。ネットワーキングプロトコルレイヤのセットは「プロトコルスタック」200と呼ばれることがある。プロトコルスタック200は、一般に「上位プロトコルレイヤ」と「下位プロトコルレイヤ」とに分割される。下位プロトコルレイヤは、物理(PHY)レイヤと媒体アクセス制御(MAC)レイヤとを含む。一般に、PHYレイヤと、対応するMACレイヤとの数は、ハイブリッドデバイス102に関連付けられたネットワークインターフェースの数に基づいて判断され得る。言い換えれば、ハイブリッドデバイス102が2つのネットワークインターフェースを備える場合、ハイブリッドデバイス102のプロトコルスタックは、図2に示されているように、一般に、2つのPHYレイヤ204Aおよび204Bと、対応する2つのMACレイヤ206Aおよび206Bとを備える。PHYレイヤ204Aおよび対応するMACレイヤ206Aはハイブリッドデバイス102を通信ネットワーク202Aに結合する。PHYレイヤ204Bおよび対応するMACレイヤ206Bはハイブリッドデバイス102を通信ネットワーク202Bに結合する。上位プロトコルレイヤは、(たとえば、インターネットプロトコルバージョン4(IPv4)通信プロトコル、インターネットプロトコルバージョン6(IPv6)通信プロトコル、AppleTalk(登録商標)通信プロトコル、または他の好適なネットワークレイヤプロトコルを実装する)ネットワークレイヤ208と、トランスポートレイヤ210(たとえば、伝送制御プロトコル(TCP)、ユーザデータグラムプロトコル(UDP)、またはネットワークレイヤプロトコルに応じた他の好適なトランスポートレイヤプロトコル)と、1つまたは複数のアプリケーション212とを含むことができる。
[0058] ハイブリッドデバイス102のプロトコルスタック200は、ネットワークレイヤ208とMACレイヤ206Aおよび206Bとの間の「ハイブリッドネットワーキングサブレイヤ」214をも備えることができる。いくつかの実装形態では、ハイブリッドネットワーキングサブレイヤ214は、図1および図4〜図6において以下で説明する機能を実行するためにハイブリッドARPユニット104とハイブリッドARPキャッシュ106とを備えることができる。ハイブリッドネットワーキングサブレイヤ214は、上位プロトコルレイヤの単一のセット(たとえば、単一のネットワークレイヤおよび単一のトランスポートレイヤ)を用いて、ただし、複数のネットワークインターフェース(たとえば、複数のPHYレイヤおよび複数のMACレイヤ)を用いて、ハイブリッドデバイス102における通信を管理するための機能を実装することができる。ハイブリッドネットワーキングサブレイヤ214はまた、ハイブリッドデバイス102が単一のMACレイヤと、対応する単一のPHYレイヤとのみを備えるかのように、上位プロトコルレイヤが動作することを可能にすることができる。プロトコルスタック200は、実装され得るネットワーキング技術および随意のプロトコルに応じて、他の好適なレイヤまたはサブレイヤを備えることができることに留意されたい。さらに、いくつかの実施形態では、1つまたは複数の他のサブレイヤが(単独でまたはハイブリッドネットワーキングサブレイヤ214との組合せで)図1〜図6において本明細書で説明する機能を実行し得る。
[0059] 再び図1を参照すると、通信ネットワーク100の他のハイブリッドデバイスの各々(「ターゲットハイブリッドデバイス」)について、ハイブリッドARPキャッシュ106は、ターゲットハイブリッドデバイス110に関連付けられたネットワークレイヤアドレスと、ターゲットハイブリッドデバイス110の(対応する1つまたは複数のネットワークインターフェースに関連付けられた)1つまたは複数のリンクレイヤアドレスとを備えることができる。いくつかの実施形態では、通信ネットワーク100中の各ターゲットハイブリッドデバイス110は(ハイブリッドデバイスのハイブリッドネットワーキングサブレイヤに関連付けられた)一意の識別子を有することができる。一意の識別子は、ターゲットハイブリッドデバイス110に関連付けられたリンクレイヤアドレス、ターゲットハイブリッドデバイス110に関連付けられたハイブリッドネットワーキングサブレイヤ識別子(たとえば、IEEE1905.1アブストラクションサブレイヤ識別子)などのうちの1つであり得る。したがって、各ターゲットハイブリッドデバイス110について、ハイブリッドARPキャッシュ106は、ターゲットハイブリッドデバイス110のハイブリッドネットワーキングサブレイヤに関連付けられた一意の識別子をも備えることができる。いくつかの実施形態では、ハイブリッドARPユニット104は、それのハイブリッドデバイス102のハイブリッドネットワーキングサブレイヤに一意の識別子を割り当てることができる。ハイブリッドARPユニット104はまた、通信ネットワーク100において他のターゲットハイブリッドデバイス110に関連付けられたハイブリッドネットワーキングサブレイヤに一意の識別子を割り当て得る。他の実施形態では、各ターゲットハイブリッドデバイス110は、それ自体の一意の識別子を判断し、したがってハイブリッドデバイス102(たとえば、ハイブリッドARPユニット104)と通信ネットワーク100の他のハイブリッドデバイスとに通知することができる。ハイブリッドARPユニット104は、キャッシュエントリ/ルックアップとARPメッセージ送信/構文解析とを可能にするために、通信ネットワーク100において各ターゲットハイブリッドデバイス110に関連付けられたこれらの一意の識別子を使用することができる。いくつかの実施形態では、各ターゲットハイブリッドデバイス110の各リンクレイヤアドレスは、ネットワークトポロジー情報と、ルートメトリック情報と、送信フレームのクラスに固有の前に選択されたルート情報とにも関連付けられ得る。ネットワークレイヤアドレスおよび対応する1つまたは複数のリンクレイヤアドレスに加えて、ハイブリッドARPユニット104は、ハイブリッドARPキャッシュ106にネットワークトポロジー情報、送信ルート情報、および/またはルートメトリック情報をも記憶することができる。ハイブリッドARPユニット104は、通信ネットワーク100において他のデバイスに送信されるようにスケジュールされたフレームにおいてポピュレートされるべき適切なリンクレイヤアドレスを選択するために、このネットワークトポロジー情報、送信ルート情報、および/またはルートメトリック情報を使用することができる。
[0060] 図4においてさらに説明するように、ハイブリッドARPユニット104は、ARPメッセージとトポロジーメッセージの組合せを使用することによってハイブリッドARPキャッシュ106を維持することができる。図1を参照すると、ハイブリッドARPユニット104は、宛先ハイブリッドデバイス110のネットワークレイヤアドレスを備えるARP要求メッセージを送信することができる。ステージAにおいて、ハイブリッドARPユニット104は、ARP要求メッセージを送信したことに応答して宛先ハイブリッドデバイス110から(たとえば、ハイブリッドARPユニット112から)1つまたは複数のARP応答メッセージおよび/またはトポロジーメッセージを受信する。ステージBにおいて、ハイブリッドARPユニット104は、ハイブリッドARPキャッシュ106を更新し、宛先ハイブリッドデバイス110のネットワークレイヤアドレスと1つまたは複数のリンクレイヤアドレスとの間の関連付けを記憶し、および/または宛先ハイブリッドデバイス110のリンクレイヤアドレスのうちの1つまたは複数に関連付けられたルート情報を記憶することができる。言い換えれば、ステージAにおいて受信されたARP応答メッセージおよび/またはトポロジーメッセージに基づいて、ハイブリッドARPユニット104は、宛先ハイブリッドデバイス110に送信されるようにスケジュールされたフレームにおいて宛先リンクレイヤアドレスをポピュレートするために(1つまたは複数の)エントリでハイブリッドARPキャッシュ106を更新することができる。ARPキャッシュエントリは、宛先ハイブリッドデバイス110に関連付けられたネットワークレイヤアドレス、宛先ハイブリッドデバイス110の対応する1つまたは複数のネットワークインターフェースに関連付けられた1つまたは複数のリンクレイヤアドレス、宛先ハイブリッドデバイス110のリンクレイヤアドレスの各々に関連付けられた好ましい送信ルート、宛先ハイブリッドデバイス110のリンクレイヤアドレスの各々に関連付けられた前に使用された送信ルート、宛先ハイブリッドデバイス110と通信するための送信ルートの各々に関連付けられたルートメトリクスなどを含むことができる。ステージCにおいて、ハイブリッドARPユニット104は、宛先ハイブリッドデバイス110と通信するための送信ルート、送信インターフェース、および/または適切な宛先リンクレイヤインターフェースを(たとえば、ハイブリッドARPキャッシュ106中のルートメトリック情報、送信ルート情報、アドレス関連付け情報、および/または他の情報に基づいて)選択することができる。ハイブリッドARPユニット104は、それに応じてフレームをポピュレートし、選択された送信インターフェースを介して宛先ハイブリッドデバイス110にそのフレームを送信することができる。ハイブリッドARPキャッシュ106をポピュレートし、最適な送信インターフェース、宛先リンクレイヤアドレス、および/または送信ルートを選択するためのハイブリッドARPユニット104の動作について、図4を参照しながら以下でさらに説明する。
[0061] いくつかの実施形態では、ハイブリッドARPユニット104の機能は2つのハイブリッドアドレス解決ステージにわたって分割され得、ハイブリッドARPキャッシュ106は2ステージキャッシュとして実装され得る。図5において以下でさらに説明するように、2つのハイブリッドアドレス解決ステージは、連携して、フレームをポピュレートするために2ステージハイブリッドARPキャッシュから送信インターフェースおよび/または宛先リンクレイヤアドレスを選択することができる(ステージD)。より詳細には、(ターゲットハイブリッドデバイスであろうとターゲットレガシーデバイスであろうと)各ターゲットデバイスについて、第1のステージのハイブリッドARPキャッシュが、(ターゲットデバイスがレガシーデバイスであるのかハイブリッドデバイスであるのかにかかわらず)ターゲットデバイスのネットワークレイヤアドレスとターゲットデバイスの1つのリンクレイヤアドレスとを備える単一のエントリを備えることができる。上記で説明したように、ターゲットハイブリッドデバイスは、ターゲットハイブリッドデバイスを対応する複数の通信ネットワークに各々が接続する、複数のネットワークインターフェースを備えることができる。ターゲットレガシーデバイスは、ターゲットレガシーデバイスを単一の通信ネットワークに結合するただ1つのネットワークインターフェースを備える。ターゲットハイブリッドデバイスについて、第1のステージのハイブリッドARPキャッシュ中のエントリは、ターゲットハイブリッドデバイスのネットワークレイヤアドレスと、ターゲットハイブリッドデバイスのハイブリッドネットワーキングサブレイヤ識別子との間の関連付けを示すことができる。ターゲットハイブリッドデバイスに関連付けられたネットワークレイヤアドレスの知識に基づいて、第1のハイブリッドアドレス解決ステージは、ターゲットハイブリッドデバイスに関連付けられたネットワークレイヤアドレスと、対応するリンクレイヤアドレスとを備える(第1のステージのハイブリッドARPキャッシュの)エントリの位置を特定することができる。第1のハイブリッドアドレス解決ステージは、第1のステージのハイブリッドARPキャッシュから取り出されたリンクレイヤアドレスを使用してフレームにおいて宛先リンクレイヤアドレスフィールドをポピュレートすることができる。次に、第2のハイブリッドアドレス解決ステージは、第2のステージのハイブリッドARPキャッシュの1つまたは複数のデータベースにおいて1つまたは複数の一致するエントリの位置を特定するためのポインタとして、(第1のハイブリッドアドレス解決ステージによって判断された)フレーム中のリンクレイヤアドレスを使用することができる。第2のハイブリッドアドレス解決ステージは、送信ルートと適切な宛先リンクレイヤアドレスとを選択することができる。第2のハイブリッドアドレス解決ステージによって選択された宛先リンクレイヤアドレスが、第1のハイブリッドアドレス解決ステージによってフレームにおいてポピュレートされた宛先リンクレイヤアドレスとは異なる場合、フレーム中のリンクレイヤアドレスは、第2のハイブリッドアドレス解決ステージによって選択されたリンクレイヤアドレスで上書きされる。
[0062] いくつかの実施形態では、第1のハイブリッドアドレス解決ステージおよび第2のハイブリッドアドレス解決ステージは、ハイブリッドARPユニット104の一部として実装され得ることに留意されたい。他の実施形態では、第1のハイブリッドアドレス解決ステージおよび第2のハイブリッドアドレス解決ステージは、互いと通信可能に結合された別個の処理ユニットによって実装され得る。いくつかの実施形態では、第1のステージのハイブリッドARPキャッシュおよび第2のステージのハイブリッドARPキャッシュは、ハイブリッドARPキャッシュ106の一部として実装され得る。別の実施形態では、第1のステージのハイブリッドARPキャッシュおよび第2のステージのハイブリッドARPキャッシュは、異なるコンピュータシステム、サーバなどの上に実装され得る。いくつかの実施形態では、第1のステージのハイブリッドARPキャッシュおよび第2のステージのハイブリッドARPキャッシュは、それぞれ第1のハイブリッドアドレス解決ステージおよび第2のハイブリッドアドレス解決ステージの一部として実装され得る。他の実施態様では、第1のステージのハイブリッドARPキャッシュは第1のハイブリッドアドレス解決ステージとは別個であり得(およびそれと結合され得)、第2のステージのハイブリッドARPキャッシュは第2のハイブリッドアドレス解決ステージとは別個であり(およびそれと結合され)得る。ネットワークレイヤアドレスを解決するための、ならびにフレーム配信のための送信ルートおよび/または送信インターフェースを選択するための、2ステージプロセスの動作について、図5においてさらに説明する。
[0063] いくつかの実施形態では、上位プロトコルレイヤの既存の/従来のARP機能が、ハイブリッドARP機能を実装するために無効にされない/除去されないことがある。代わりに、ハイブリッドARPユニット104は、ハイブリッドARPキャッシュから宛先リンクレイヤアドレスを選択することと、従来のARP機能によってポピュレートされた宛先リンクレイヤアドレスを(必要な場合)上書きすることとによって、従来のARP機能と連携してハイブリッドARP機能を実行することができる(ステージE)。より詳細には、図3のプロトコルスタック300によって示すように、ハイブリッドARPユニット104およびハイブリッドARPキャッシュ106は、従来のARPユニット302および従来のARPキャッシュ304と連携して動作し得る。図3では、ハイブリッドデバイス102の上位プロトコルレイヤ(たとえば、ネットワークレイヤ208)は、従来のARPユニット302および従来のARPキャッシュ304に関連付けられる(たとえば、それらを備えるかまたはそれらと結合される)。従来のARPユニット302は、一般に、複数のリンクレイヤアドレスを用いてハイブリッドデバイスを管理するように構成されない。したがって、従来のARPユニット302は、(ネットワークデバイスがレガシーデバイスであるのかハイブリッドデバイスであるのかにかかわらず)通信ネットワーク100において各ネットワークデバイスについてネットワークレイヤアドレスとリンクレイヤアドレスとの間の1対1の関連付けを(従来のARPキャッシュ304において)維持する。ハイブリッドARPユニット104は、従来のARPユニット302のための「プロキシ」として働くことができ、その結果、上位プロトコルレイヤ208、210、および212は、基礎をなす通信ネットワーク100のハイブリッド性質、複数のネットワークインターフェースを実装するハイブリッドデバイス102および110、ならびに単一のネットワークレイヤアドレスと複数のリンクレイヤアドレスとの間の1対多の関連付けに気づかず、およびそれらによる影響を受けない。ハイブリッドARPユニット104は、従来のARPユニット302によって提示されたARP要求メッセージと、他のハイブリッド/レガシーデバイスから受信されたARP要求メッセージと、従来のARPユニット302によって生成されたARP告知メッセージ(またはARP応答メッセージ)と、他のハイブリッド/レガシーデバイスから受信されたARP告知メッセージとをインターセプトすることができる。図6において以下でさらに説明するように、ハイブリッドARPユニット104は、A)従来のARPユニット302によって生成されたARP要求メッセージを廃棄または変更し、B)従来のARPユニット302に受信されたARP告知メッセージを与えるより前にそれらを廃棄または変更し、C)ARP要求メッセージを生成し、ハイブリッドデバイス102の複数のネットワークインターフェースを介してこれらのARP要求メッセージを送信し、ならびに/あるいはD)受信されたARP応答メッセージおよび/またはトポロジーメッセージに基づいて従来のARPユニット302のみに提示されるべきARP告知メッセージを生成することができる。
[0064] 図1に示されたステージA〜Eは連続的でないことがあり、いくつかの実施形態では、図1に示されたステージのサブセットのみが実行され得ることに留意されたい。一例では、ステージAおよびBは、ハイブリッドデバイス102がARP応答メッセージ(またはARP告知メッセージ、トポロジーメッセージなど)を受信する場合、および/または、ハイブリッドデバイス102のハイブリッドARPキャッシュ106が必須のアドレス関連付け情報を備えない場合のみ、実行され得る。別の例として、ハイブリッドARPユニット104は、ステージC、D、およびEのうちのいずれか1つを実装し得る。言い換えれば、ハイブリッドARPユニット104は、1)宛先リンクレイヤアドレスを選択するための単一ステージハイブリッドキャッシュを用いた単一ステージハイブリッドアドレス解決プロセス(ステージC)、2)宛先リンクレイヤアドレスを選択するための2ステージハイブリッドキャッシュを用いた2ステージハイブリッドアドレス解決プロセス(ステージD)、または3)宛先リンクレイヤアドレスを選択するための従来のアドレス解決プロセスおよび従来のキャッシュと連携した単一ステージハイブリッドキャッシュを用いた単一ステージハイブリッドアドレス解決プロセス(ステージE)を実行し得る。
[0065] 図4は、ハイブリッドARPキャッシュをポピュレートし、そのハイブリッドARPキャッシュを使用して宛先ネットワークデバイスにフレームを送信する、ハイブリッドデバイスの例示的な動作を示す流れ図(「フロー」)400である。フロー400はブロック402において開始する。
[0066] ブロック402において、ソースハイブリッドデバイスが、通信ネットワークの宛先ネットワークデバイスにフレームを送信することを判断する。図1の例を参照すると、ソースハイブリッドデバイス102のハイブリッドARPユニット104は、フレームが宛先ネットワークデバイス110に送信されるようにスケジュールされると判断することができる。上記で説明したように、ハイブリッドARPユニット104は、ハイブリッドデバイス102のハイブリッドネットワーキングサブレイヤ214の一部として実装され得る。したがって、いくつかの実施形態では、ハイブリッドデバイス102の上位プロトコルレイヤが、フレームを生成し得、ハイブリッドネットワーキングサブレイヤ214に(送信のために)そのフレームを与え得る。他の実施形態では、ハイブリッドネットワーキングサブレイヤ214は、宛先ネットワークデバイス110への送信のためのメッセージを生成し得る。図4において以下でさらに説明するように、ハイブリッドARPユニット104は、送信されるようにスケジュールされたフレームにおいて宛先ネットワークデバイス110に関連付けられた適切な宛先リンクレイヤアドレスをポピュレートするためにハイブリッドARPキャッシュ106を使用することができる。宛先ネットワークデバイスはレガシーデバイスまたはハイブリッドデバイスであり得ることに留意されたい。フローはブロック404に進む。
[0067] ブロック404において、ハイブリッドARPキャッシュが、宛先ネットワークデバイスに関連付けられた1つまたは複数のエントリを備えるかどうかが判断される。たとえば、ハイブリッドARPユニット104は、ハイブリッドARPキャッシュ106が、宛先ネットワークデバイス110に関連付けられた1つまたは複数のエントリを備えるかどうかを判断することができる。いくつかの実施形態では、ハイブリッドARPユニット104は、宛先ネットワークデバイス110に関連付けられたネットワークレイヤアドレスを(送信されるようにスケジュールされたフレームから)判断することができる。ハイブリッドARPユニット104は、次いで、ハイブリッドARPキャッシュ106が、宛先ネットワークデバイス110に関連付けられたネットワークレイヤアドレスに対応する1つまたは複数のエントリを備えるかどうかを判断することができる。上記で説明したように、ハイブリッドARPキャッシュ106も、ハイブリッドデバイス102のハイブリッドネットワーキングサブレイヤ214の一部として実装され得る。いくつかの実施形態では、上記に示されているように、ハイブリッドARPキャッシュ106は、ハイブリッドARPユニット104とは別個に実装され得るが、ハイブリッドARPユニット104と通信可能に結合され得る。他の実施形態では、ハイブリッドARPキャッシュ106は、ハイブリッドARPユニット104の一部として実装され得る。ハイブリッドARPユニット104が、ハイブリッドARPキャッシュ106が、宛先ネットワークデバイス110に関連付けられたいかなるエントリをも備えないと判断する場合、フローはブロック406に進む。そうではなく、ハイブリッドARPユニット104が、ハイブリッドARPキャッシュ106が、宛先ネットワークデバイス110に関連付けられた1つまたは複数のエントリを備えると判断する場合、フローはブロック412に進む。
[0068] ブロック406において、ハイブリッドデバイスは、宛先ネットワークデバイスにARP要求メッセージを送信する。フロー400は、ハイブリッドARPユニット104が、ハイブリッドARPキャッシュ106が、宛先ネットワークデバイス110のネットワークレイヤアドレスに関連付けられたいかなるエントリ/情報をも備えないと判断する場合、ブロック404からブロック406に移動する。図1の例を参照すると、ハイブリッドARPユニット104は、宛先ネットワークデバイス110にARP要求メッセージを(トランシーバユニット108を介して)送信することができる。いくつかの実施形態では、送信されたARP要求メッセージは、宛先ネットワークデバイス110のネットワークレイヤアドレスを備えるユニキャストメッセージであり得る。いくつかの実施形態では、宛先ネットワークデバイスがレガシーデバイスであり、ハイブリッドARPユニット104が、レガシーデバイスによってサポートされる通信プロトコル(たとえば、WLAN通信プロトコル)に「気づいている」場合、ハイブリッドARPユニット104は、適切なネットワークインターフェース(たとえば、WLANインターフェース)を介してARP要求メッセージを送信することができる。ハイブリッドARPユニット104が、レガシーデバイスによってサポートされる通信プロトコルに「気づいていない」場合、宛先ネットワークデバイスがハイブリッドデバイスである場合、または、ハイブリッドARPユニット104が、宛先ネットワークデバイスがハイブリッドデバイスであるのかレガシーデバイスであるのかを知らない場合、ハイブリッドARPユニット104は、それのネットワークインターフェースのすべてを介してARP要求メッセージを送信することができる。いくつかの実施形態では、ハイブリッドARPユニット104は、ハイブリッドデバイス102に対する宛先ネットワークデバイス110のロケーションの知識を有し得る。この実施形態では、ハイブリッドARPユニット104は、ハイブリッドデバイス102のネットワークインターフェースのうちの1つ(またはサブセット)を介してARP要求メッセージを送信し得る。フローはブロック408に進む。
[0069] ブロック408において、宛先ネットワークデバイスから1つまたは複数のARP応答メッセージおよび/またはトポロジーメッセージを受信する。たとえば、ハイブリッドARPユニット104は、宛先ネットワークデバイス110から1つまたは複数のARP応答メッセージおよび/またはトポロジーメッセージを受信することができる。いくつかの実施形態では、宛先ネットワークデバイス110がレガシーデバイスである場合、ハイブリッドARPユニット104は、ネットワークレイヤアドレスと、対応する単一のリンクレイヤアドレスとを示す、1つのARP応答メッセージのみを(宛先ネットワークデバイス110から)受信し得る。この実施形態では、ハイブリッドARPユニット104は、宛先ネットワークデバイス110からトポロジーメッセージを受信しないことがある。別の実施形態では、宛先ネットワークデバイス110がハイブリッドデバイスである場合、ハイブリッドARPユニット104は、宛先ネットワークデバイス110に関連付けられた対応する複数のリンクレイヤアドレスのための複数のARP応答メッセージを(宛先ネットワークデバイス110から)受信し得る。言い換えれば、宛先ネットワークデバイス110に関連付けられた各リンクレイヤアドレス(たとえば、ネットワークインターフェース)について、ハイブリッドARPユニット104は、ネットワークレイヤアドレスとリンクレイヤアドレスとの間の関連付けを示すARP応答メッセージを受信し得る。宛先ネットワークデバイス110がハイブリッドデバイスである場合、ハイブリッドARPユニット104は、宛先ネットワークデバイス110から1つまたは複数のトポロジーメッセージをも受信し得る。トポロジーメッセージは、以下で説明するように、宛先ネットワークデバイス110に関連付けられたすべてのリンクレイヤアドレスのリストを備えることができる。いくつかの実施形態では、宛先ネットワークデバイス110がハイブリッドデバイスである場合、受信されたARP応答メッセージおよび/またはトポロジーメッセージは、宛先ネットワークデバイス110のハイブリッドネットワーキングサブレイヤに関連付けられた一意の識別子(たとえば、リンクレイヤアドレス、ハイブリッドネットワーキングサブレイヤ識別子、または別の好適な識別子)を備えることができる。
[0070] いくつかの実施形態では、ハイブリッドARPユニット104が、宛先ネットワークデバイス110からトポロジーメッセージを受信する場合、これは、宛先ネットワークデバイス110がハイブリッドネットワーキング対応デバイス(たとえば、IEEE1905.1対応デバイス)であることを示すことができる。トポロジーメッセージは、リンクレイヤトポロジー発見(LLTD:link layer topology discovery)メッセージ、リンクレイヤ発見プロトコル(LLDP:link layer discovery protocol)メッセージ、IEEE1905.1トポロジーメッセージ、または他の好適なメッセージを含むことができる。いくつかの実施形態では、トポロジーメッセージは、宛先ネットワークデバイス110のネットワークレイヤアドレスと、すべてのそれの関連付けられたリンクレイヤアドレスとを示すことができる。この実施形態では、トポロジーメッセージは、ハイブリッドARPユニット104が、ハイブリッドARPキャッシュ106において宛先ネットワークデバイス110のためのアドレス関連付け情報をポピュレートするのに十分であり得る。別の実施形態では、トポロジーメッセージは、宛先ネットワークデバイス110のハイブリッドネットワーキングサブレイヤ識別子と、すべての関連付けられたリンクレイヤアドレスとを示すことができる。この実施形態では、トポロジーメッセージは、宛先ネットワークデバイス110のネットワークレイヤアドレスを含まないことがある。この実施形態では、ハイブリッドARPキャッシュ106は、リンクレイヤアドレス識別されたトポロジーメッセージのうちの1つのためのネットワークレイヤアドレス対リンクレイヤアドレス関連付けを(前に受信されたメッセージ/フレームに基づいて)備え得るか、またはネットワークレイヤアドレスとハイブリッドネットワーキングサブレイヤ識別子との間の関連付けを備え得る。したがって、トポロジーメッセージは、ハイブリッドネットワーキングサブレイヤ識別子のためのネットワークレイヤ対リンクレイヤ関連付けを完全にポピュレートするために、および、ハイブリッドARPキャッシュ106が、宛先ネットワークデバイス110のための古い/無効な関連付けを備えないことを保証するために、使用され得る。ブロック410において以下でさらに説明するように、ハイブリッドARPユニット104は、ハイブリッドARPキャッシュ106のコンテンツをポピュレート/管理するためにARP応答メッセージとトポロジーメッセージの組合せを使用することができる。フローはブロック410に進む。
[0071] ブロック410において、受信された1つまたは複数のARP応答メッセージおよび/またはトポロジーメッセージに基づいてハイブリッドARPキャッシュを更新する。たとえば、ハイブリッドARPユニット104は、ブロック408において宛先ネットワークデバイス110から受信された1つまたは複数のARP応答メッセージおよび/またはトポロジーメッセージに少なくとも部分的に基づいて、ハイブリッドARPキャッシュ106を更新することができる。ハイブリッドARPキャッシュ106は、宛先ネットワークデバイス110に関連付けられたネットワークレイヤアドレス、宛先ネットワークデバイス110の対応する1つまたは複数のネットワークインターフェースに関連付けられた1つまたは複数のリンクレイヤアドレス、リンクレイヤアドレスの各々に関連付けられた好ましい送信ルート、リンクレイヤアドレスの各々に関連付けられた前に使用された送信ルート、ハイブリッドデバイス102と宛先ネットワークデバイス110との間の各送信ルートに関連付けられたルートメトリック情報などを備えることができる。様々な機構が、ハイブリッドARPキャッシュ106を実装するために採用され得る。一実施形態では、宛先ネットワークデバイスがハイブリッドデバイス110である場合、ハイブリッドARPキャッシュ106は、ハイブリッドデバイス110のための複数のエントリを備えることができる。ハイブリッドデバイス110に関連付けられた複数のエントリの各々は、共通のネットワークレイヤアドレスを有することができるが、異なるリンクレイヤアドレスを有することができる。言い換えれば、ハイブリッドデバイス110について、ハイブリッドARPキャッシュ106は、ネットワークレイヤアドレスとリンクレイヤアドレスとの間の各関連付けについて1つのエントリを備えることができる。したがって、ハイブリッドデバイス110が5つのネットワークインターフェース(および対応する5つのリンクレイヤアドレス)を備える場合、ハイブリッドARPキャッシュ106は、ハイブリッドデバイス110のための5つのエントリを備えることができる。ハイブリッドARPキャッシュ106中の各エントリは、(すべてのリンクレイヤアドレスにわたって共通の)ネットワークレイヤアドレスと5つのリンクレイヤアドレスのうちの1つとの間の関連付けを示すことができる。さらに、各キャッシュエントリは、リンクレイヤアドレスに関連付けられた好ましい(配信ルートとも呼ばれる)送信ルートをも示すことができる。いくつかの実施形態では、ハイブリッドARPキャッシュ106は、(リンクレイヤアドレス、ネットワークレイヤアドレス、ハイブリッドネットワーキングサブレイヤ識別子などのうちの1つの知識に基づいて)ハイブリッドARPユニット104が、ハイブリッドデバイス110に関連付けられたすべてのエントリの位置を迅速に特定することを可能にするように編成され得る(または同じハイブリッドデバイス110に関連付けられたエントリ間のリンクを備えることができる)。
[0072] 別の実施形態では、ハイブリッドARPキャッシュ106は、1次ARPデータベースと2次ARPデータベースとを含むように編成され得る。各ネットワークデバイスについて、1次ARPデータベースは、(ネットワークデバイスがレガシーデバイスであるのかハイブリッドデバイスであるのかにかかわらず)ネットワークレイヤアドレスと単一のリンクレイヤアドレスとの間の関連付けを示す単一のエントリを備えることができる。いくつかの実施形態では、ネットワークデバイスがハイブリッドデバイスである場合、1次ARPデータベースは、ネットワークレイヤアドレスとハイブリッドネットワーキングサブレイヤ識別子との間の関連付けを示す単一のエントリを備えることができる。2次ARPデータベースは、ネットワークデバイスに関連付けられたすべてのリンクレイヤアドレスのリストを備えることができる。2次ARPデータベースおよび/または1次ARPデータベースは、ハイブリッドARPユニット104が、関係するエントリの位置を容易に特定することを可能にするために、1次ARPデータベースと2次ARPデータベースとの間の適切なリンクをも備えることができる。いくつかの実施形態では、レガシーデバイスに関連付けられた1次ARPデータベース中の各エントリについて、2次ARPデータベースは、単一の関連付けられたリンクレイヤアドレスを識別する単一のエントリを備えることができる。代替的に、他の実施形態では、1次ARPデータベースが、ネットワークデバイスがレガシーデバイスであることを示す場合、2次ARPデータベースは、ネットワークデバイスのためのいかなるエントリをも備えないことがある。この実施形態では、2次ARPデータベースは、ハイブリッドデバイスに指定されたネットワークデバイスのためのリンクレイヤアドレスのリストを備えるにすぎないことがある。
[0073] いくつかの実施形態では、ハイブリッドARPキャッシュ106中のエントリの各々は、送信ルート情報、ネットワークトポロジー情報、および/またはルートメトリック情報にも関連付けられ得る。ハイブリッドARPユニット104は、送信されるようにスケジュールされたフレームにおいてポピュレートされるべきである適切な宛先リンクレイヤアドレスを選択するために、送信ルート情報、ネットワークトポロジー情報、および/またはルートメトリック情報を使用することができる。いくつかの実施形態では、送信ルート情報、ネットワークトポロジー情報、および/またはルートメトリック情報はハイブリッドARPキャッシュ106に組み込まれ得る。ハイブリッドARPキャッシュ106が1次および2次ARPデータベースに編成される、別の実施形態では、送信ルート情報、ネットワークトポロジー情報、および/またはルートメトリック情報は2次ARPデータベースに組み込まれ得る。別の実施形態では、送信ルート情報、ネットワークトポロジー情報、および/またはルートメトリック情報は1つまたは複数の別個のルーティングデータベースに記憶され得る。ハイブリッドARPキャッシュ106(または2次ARPデータベース)は、ハイブリッドARPキャッシュ106(または2次ARPデータベース)中のエントリをルーティングデータベース中の対応する送信ルート情報、ネットワークトポロジー情報、および/またはルートメトリック情報にリンクする、ポインタを備えることができる。
[0074] いくつかの実施形態では、ハイブリッドARPキャッシュ106中の各エントリは、ハイブリッドARPユニット104がフレームにおいて宛先リンクレイヤアドレスフィールドをポピュレートするためにそのエントリを最後にいつ使用したか、フレームのタイプ/クラス、フレームを送信するために使用された送信ルートなどを示す、選択履歴情報にも関連付けられ得る。この選択履歴情報は、特定のクラスのフレーム、または共通特性をもつフレームのセットための、宛先リンクレイヤアドレスと送信ルートとの選択における一貫性を維持するために使用され得る。選択履歴情報は、A)ハイブリッドARPキャッシュ106の一部として、B)2次(または1次)ARPデータベースの一部として、またはC)別個のデータベースに、記憶され得る。ハイブリッドARPキャッシュ106が更新された後、フローはブロック412に進む。
[0075] ブロック412において、ハイブリッドARPキャッシュに少なくとも部分的に基づいて、送信ルートと送信インターフェースとを判断する。たとえば、ハイブリッドARPユニット104は、ハイブリッドARPキャッシュ106にアクセスし、宛先ハイブリッドデバイス110に関連付けられたハイブリッドARPキャッシュ106中の1つまたは複数のエントリを識別することができる。いくつかの実施形態では、宛先ネットワークデバイス110のハイブリッドネットワーキングサブレイヤ(たとえば、IEEE1905.1アブストラクションサブレイヤ)に関連付けられた一意の識別子が、宛先ハイブリッドデバイス110に対応するハイブリッドARPキャッシュ106中のエントリを識別するために使用され得る。ハイブリッドARPキャッシュ106において識別された1つまたは複数のエントリに基づいて、ハイブリッドARPユニット104は、フレームのための送信ルートと、フレームがそれから宛先ハイブリッドデバイス110に送信されるべきである(ソースハイブリッドデバイス102の)送信インターフェースとを選択することができる。ハイブリッドARPユニット104はまた、選択された送信インターフェースと送信ルートとに関連付けられたソースリンクレイヤアドレスを(たとえば、ハイブリッドARPキャッシュ106を使用して)判断することができる。いくつかの実施形態では、ハイブリッドARPキャッシュ106のどのエントリが使用されるべきであるか(たとえば、どのネットワークインターフェースがフレームを送信するために使用されるべきであるか)の選択は、ネットワークトポロジー情報、ルートメトリック情報、選択履歴情報などを使用して判断された、好ましい送信ルートに基づき得る。たとえば、ハイブリッドARPユニット104は、(たとえば、通信媒体性能値を分析することに基づいて)最初に送信ルートを選択することができ、次いで、選択された送信ルートに基づいて送信インターフェースを選択することができる。別の実施形態では、ハイブリッドARPユニット104は、(たとえば、宛先ネットワークデバイスによってサポートされるネットワークインターフェース、通信ネットワーク性能値などに基づいて)最初に送信インターフェースを選択することができ、次いで、選択された送信インターフェースから始まる送信ルートを選択することができる。フローはブロック414に進む。
[0076] ブロック414において、ハイブリッドARPキャッシュに少なくとも部分的に基づいて、宛先リンクレイヤアドレスを判断する。たとえば、ハイブリッドARPユニット104は、ハイブリッドARPキャッシュ106にアクセスし、宛先ネットワークデバイス110に関連付けられた宛先リンクレイヤアドレスを識別することができる。いくつかの実施形態では、ハイブリッドARPユニット104は、ブロック412において選択された送信ルートに基づいて宛先ネットワークデバイス110の受信インターフェースを判断することができる。この実施形態では、宛先リンクレイヤアドレス(たとえば、媒体アクセス制御(MAC)アドレス)は、宛先ネットワークデバイス110の受信インターフェースに対応するリンクレイヤアドレスであり得る。別の実施形態では、宛先ハイブリッドデバイスのハイブリッドネットワーキングサブレイヤに関連付けられた識別子が宛先リンクレイヤアドレスとして選択され得る。別の実施形態では、宛先ハイブリッドデバイスの複数のネットワークインターフェースのいずれかに関連付けられたリンクレイヤアドレス(必ずしも受信インターフェースに関連付けられたリンクレイヤアドレスとは限らない)が宛先リンクレイヤアドレスとして選択され得る。フローはブロック416に進む。
[0077] ブロック416において、送信インターフェースからおよび送信ルートを介して、宛先ハイブリッドデバイスに宛先リンクレイヤアドレスを含むフレームを送信する。たとえば、ハイブリッドARPユニット104は、フレームのソースリンクレイヤアドレスフィールドおよび宛先リンクレイヤアドレスフィールドにおいてソースリンクレイヤアドレスおよび宛先リンクレイヤアドレスをポピュレートすることができる。ハイブリッドARPユニット104は、次いで、宛先ハイブリッドデバイス110への送信のためにトランシーバユニット108にフレームを与えることができる。トランシーバユニット108は、選択された送信ルートを介して送信インターフェースから宛先ハイブリッドデバイス110にフレームを送信することができる。ブロック416から、フローは終了する。
[0078] 図4は、ハイブリッドARPキャッシュ106が宛先ネットワークデバイス110のための1つまたは複数のエントリを備えない場合、ハイブリッドデバイス102が宛先ネットワークデバイス110にARP要求メッセージを送信することを示しているが、実施形態はそのように限定されないことに留意されたい。別の実施形態では、ハイブリッドデバイス102は、フレームが宛先ネットワークデバイス110に送信されるようにスケジュールされるかどうかにかかわらず、ARP要求メッセージを送信し得る。たとえば、ハイブリッドデバイス102は、周期的/所定の時間間隔において通信ネットワーク100において1つまたは複数のネットワークデバイスにARP要求メッセージを送信することができる。別の実施形態では、フレームが宛先ネットワークデバイス110に送信されるようにスケジュールされると判断したことに応答して、ハイブリッドデバイス102は、ハイブリッドARPキャッシュ106が、宛先ハイブリッドデバイス110に関連付けられた1つまたは複数のエントリを備えるかどうかを判断しないことがある。代わりに、ハイブリッドデバイス102は、宛先ハイブリッドデバイス110にフレームを送信することを判断したことに応答して、宛先ハイブリッドデバイス110にARP要求メッセージを自動的に送信することができる。
[0079] いくつかの実施形態では、ハイブリッドARPユニット104は、ハイブリッドデバイス102がそれとアクティブに通信しているネットワークレイヤアドレスのために(たとえば、レガシーデバイスまたはハイブリッドデバイスのために)ハイブリッドARPキャッシュ106中のエントリを維持し得る。ハイブリッドARPユニット104が、通信ネットワーク100において別のネットワークデバイス(たとえば、ハイブリッドデバイス110)からARP告知メッセージ(および/またはトポロジーメッセージ)を受信する場合、ハイブリッドARPユニット104は、(ハイブリッドデバイス110に関連付けられた)1つまたは複数の対応するエントリがハイブリッドARPキャッシュ106中にすでに存在する場合、またはハイブリッドデバイス110に送信されるようにスケジュールされたキューイングされたフレームがある場合、ARP告知メッセージ(および/またはトポロジーメッセージ)中の情報に基づいてハイブリッドARPキャッシュ106を更新することができる。他の場合、ハイブリッドARPユニット104は、受信されたARP告知メッセージ(および/またはトポロジーメッセージ)を廃棄することができる。他の実施形態では、ハイブリッドARPユニット104は、ハイブリッドデバイス102がネットワークデバイスとアクティブに通信しているかどうかにかかわらず、通信ネットワーク100においてすべてのネットワークデバイスのためにハイブリッドARPキャッシュ106中のエントリを維持することができる。
[0080] 図5は、2ステージハイブリッドアドレス解決プロセスの例示的な動作を示す流れ図500である。フロー500はブロック502において開始する。
[0081] ブロック502において、ソースハイブリッドデバイスが、通信ネットワークの宛先ネットワークデバイスにフレームを送信することを判断する。図1の例を参照すると、ソースハイブリッドデバイス102のハイブリッドARPユニット104は、フレームが宛先ネットワークデバイス110に送信されるようにスケジュールされると判断することができる。図5において以下でさらに説明するように、ハイブリッドARPユニット104は、送信されるようにスケジュールされたフレームにおいて宛先ネットワークデバイス110に関連付けられた適切な宛先リンクレイヤアドレスを選択し、ポピュレートするために、2ステージハイブリッドアドレス解決プロセスを実装することができる。宛先ネットワークデバイスはレガシーデバイスまたはハイブリッドデバイスであり得ることに留意されたい。フローはブロック504に進む。
[0082] ブロック504において、ソースハイブリッドデバイスの第1のハイブリッドアドレス解決ステージが、第1のステージのハイブリッドARPキャッシュから識別された宛先リンクレイヤアドレス(「第1のステージの宛先リンクレイヤアドレス」)でフレームをポピュレートする。図5において説明する2ステージハイブリッドアドレス解決プロセスでは、第1のハイブリッドアドレス解決ステージに関連付けられた第1のステージのハイブリッドARPキャッシュが、(ネットワークデバイスがレガシーデバイスであるのかハイブリッドデバイスであるのかにかかわらず)通信ネットワーク100において各ネットワークデバイスについて単一のエントリを備えることができる。言い換えれば、第1のステージのハイブリッドARPキャッシュは、各一意のネットワークレイヤアドレスについて単一のエントリを備えることができる。第1のステージのハイブリッドARPキャッシュ中の各エントリについて、ネットワークレイヤアドレスに関連付けられたリンクレイヤアドレスは、ネットワークデバイスの何らかのリンクレイヤアドレスであり得る。いくつかの実施形態では、第1のステージのハイブリッドARPキャッシュから判断された第1のステージの宛先リンクレイヤアドレスは、宛先ネットワークデバイスの好ましい送信ルートに関連付けられたリンクレイヤアドレスであり得る。別の実施形態では、第1のステージの宛先リンクレイヤアドレスは、宛先ネットワークデバイスがハイブリッドデバイスである場合、ハイブリッドネットワーキングサブレイヤ識別子であり得る。別の実施形態では、宛先ネットワークデバイスがハイブリッドデバイスである場合、第1のステージの宛先リンクレイヤアドレスは、ハイブリッドデバイスの何らかの任意に選択されたリンクレイヤアドレスであり得る。送信されるようにスケジュールされたフレーム中のネットワークレイヤアドレスを解決するために、第1のハイブリッドアドレス解決ステージは、宛先ネットワークデバイスのネットワークレイヤアドレスを(送信されるようにスケジュールされたフレームから)判断することができる。第1のハイブリッドアドレス解決ステージは、次いで、宛先ネットワークデバイスのネットワークレイヤアドレスを備える第1のステージのハイブリッドARPキャッシュ中のエントリを識別することができ、対応する第1のステージの宛先リンクレイヤアドレスを識別することができる。識別された第1のステージの宛先リンクレイヤアドレスは、フレームの宛先リンクレイヤアドレスフィールドにおいてポピュレートされ得る。第1のステージのハイブリッドARPキャッシュが、送信されるようにスケジュールされたフレーム中のネットワークレイヤアドレスに対応するエントリ(またはリンクレイヤアドレス)を備えない場合、第1のハイブリッドアドレス解決ステージは、図4のブロック404〜410を参照しながら上記で説明したように、宛先ネットワークデバイスにARP要求を送信することができ、したがって第1のステージのハイブリッドARPキャッシュをポピュレートすることができる。第1のハイブリッドアドレス解決ステージは、第2のハイブリッドアドレス解決ステージに第1のステージの宛先リンクレイヤアドレスを含むフレームを与えることができる。フローはブロック506に進む。
[0083] ブロック506において、ソースハイブリッドデバイスの第2のハイブリッドアドレス解決ステージは、第2のステージのハイブリッドARPキャッシュから識別された宛先リンクレイヤアドレス(「第2のステージの宛先リンクレイヤアドレス」)を判断する。図5において説明する2ステージハイブリッドアドレス解決プロセスでは、第2のステージのハイブリッドARPキャッシュは、通信ネットワーク100の各ネットワークデバイスに関連付けられたすべてのリンクレイヤアドレスのリストを備えることができる。いくつかの実施形態では、宛先ネットワークデバイスがレガシーデバイスである場合、第2のステージのハイブリッドARPキャッシュは、レガシーデバイスに関連付けられた単一のリンクレイヤアドレスを備えることができる。他の実施形態では、宛先ネットワークデバイスがレガシーデバイスである場合、第2のステージのハイブリッドARPキャッシュは、レガシーデバイスに関連付けられたいかなるエントリをも備えないことがある。いくつかの実施形態では、宛先ネットワークデバイスがハイブリッドデバイスである場合、第2のステージのハイブリッドARPキャッシュは、ハイブリッドデバイスに関連付けられたすべてのリンクレイヤアドレスを備えることができる。第2のステージのハイブリッドARPキャッシュは、ハイブリッドデバイスに関連付けられたハイブリッドネットワーキングサブレイヤ識別子を備えることも備えないこともある。第2のステージのハイブリッドARPキャッシュは、第2のステージのハイブリッドARPキャッシュ中のエントリの各々について送信ルート情報、ネットワークトポロジー情報、ルートメトリック情報、および/または選択履歴情報をも備えることができる。いくつかの実施形態では、第2のステージのハイブリッドARPキャッシュは、第1のステージのハイブリッドARPキャッシュとは別個であり得る。上記で説明したように、選択履歴情報は、特定の宛先リンクレイヤアドレスにメッセージを送信するためにどの送信ルートが前に使用されたかの履歴情報を備えることができる。宛先リンクレイヤアドレスに送信するために前に使用された送信ルートは、送信されるようにスケジュールされたメッセージの特性/タイプに応じて再利用され得る。いくつかの実施形態では、リンクレイヤアドレスのリスト、送信ルート情報、ネットワークトポロジー情報、ルートメトリック情報、および/または選択履歴情報は単一のデータベースに記憶され得る。他の実施形態では、リンクレイヤアドレスのリスト、送信ルート情報、ネットワークトポロジー情報、ルートメトリック情報、および/または選択履歴情報は複数のデータベースにわたって記憶され得る。
[0084] 第2のハイブリッドアドレス解決ステージは、第2のステージのハイブリッドARPキャッシュ中のエントリのサブセットを識別するための、およびしたがって宛先ネットワークデバイスに関連付けられたすべてのリンクレイヤアドレスを識別するための、ポインタとして第1のステージの宛先リンクレイヤアドレスを使用することができる。さらに、第2のハイブリッドアドレス解決ステージはまた、宛先ネットワークデバイスに関連付けられた、ハイブリッドネットワーキングサブレイヤ識別子、送信ルート情報、ネットワークトポロジー情報、ルートメトリック情報、および/または選択履歴情報を(第2のハイブリッドARPキャッシュから)判断することができる。いくつかの実施形態では、第2のハイブリッドアドレス解決ステージは、最初に、識別されたエントリの各々に関連付けられた、ネットワークトポロジー情報、ルートメトリック情報、および/または選択履歴情報を分析することに少なくとも部分的に基づいて、送信ルートを選択することができる。第2のハイブリッドアドレス解決ステージは、次いで、選択された送信ルートに基づいて第2のステージの宛先リンクレイヤアドレスを選択することができる。他の実施形態では、第2のハイブリッドアドレス解決ステージは、最初に、第2のステージの宛先リンクレイヤアドレスを選択し、次いで、選択された第2のステージの宛先リンクレイヤアドレスに基づいて送信ルートを選択することができる。フローはブロック508に進む。
[0085] ブロック508において、第1のステージの宛先リンクレイヤアドレスが第2のステージの宛先リンクレイヤアドレスに一致するかどうかが判断される。たとえば、第2のハイブリッドアドレス解決ステージは、第1のステージの宛先リンクレイヤアドレスが第2のステージの宛先リンクレイヤアドレスに一致するかどうかを判断することができる。第1のステージの宛先リンクレイヤアドレスが第2のステージの宛先リンクレイヤアドレスに一致しないと判断される場合、フローはブロック510に進む。他の場合、フローはブロック512に進む。
[0086] ブロック510において、送信されるようにスケジュールされたフレームにおいて、第1のステージの宛先リンクレイヤアドレスを第2のステージの宛先リンクレイヤアドレスによって交換する。フロー500は、第1のステージの宛先リンクレイヤアドレスが第2のステージの宛先リンクレイヤアドレスに一致しないと判断される場合、ブロック508からブロック510に移動する。いくつかの実施形態では、第2のハイブリッドアドレス解決ステージは、送信されるようにスケジュールされたフレームの宛先リンクレイヤアドレスフィールド中の第1のステージの宛先リンクレイヤアドレスを第2のステージの宛先リンクレイヤアドレスで上書きすることができる。フローはブロック512に進む。
[0087] ブロック512において、送信ルートを介して宛先ハイブリッドデバイスに適切な宛先リンクレイヤアドレスを含むフレームを送信する。ブロック512から、フローは終了する。
[0088] 図5は、第1のハイブリッドアドレス解決ステージが、フレームにおいて第1のステージの宛先リンクレイヤアドレスをポピュレートすることと、第2のハイブリッドアドレス解決ステージが、(必要な場合)第1のステージの宛先リンクレイヤアドレスを第2のステージの宛先リンクレイヤアドレスで上書きすることとを表すが、実施形態はそのように限定されないことに留意されたい。いくつかの実施形態では、第1のハイブリッドアドレス解決ステージは、第1のステージの宛先リンクレイヤアドレスを判断し得るが、この値をフレームの宛先リンクレイヤアドレスフィールドに書き込まないことがある。代わりに、第1のハイブリッドアドレス解決ステージは、(たとえば、メッセージ、第1のステージのハイブリッドARPキャッシュ中のエントリ番号などにおいて)第2のハイブリッドアドレス解決ステージに第1のステージの宛先リンクレイヤアドレスを与え得る。上記で説明したように、第2のハイブリッドアドレス解決ステージは、第2のステージの宛先リンクレイヤアドレスを選択するために第1のステージの宛先リンクレイヤアドレスを使用することができる。第2のハイブリッドアドレス解決ステージは、次いで、第2のステージの宛先リンクレイヤアドレスをフレームの宛先リンクレイヤアドレスフィールドに書き込むことができる。
[0089] 図6は、従来のARP機能と連携して動作するハイブリッドARP機能のための例示的な動作を示す流れ図600である。フロー600はブロック602において開始する。
[0090] ブロック602において、ハイブリッドデバイスのハイブリッドARPユニットが、ハイブリッドデバイスの従来のARPユニットからARP要求メッセージを受信する。図3の例を参照すると、ハイブリッドデバイス102のハイブリッドARPユニット104は、ハイブリッドデバイス102の従来のARPユニット302からARP要求メッセージを受信し得る。ARP要求メッセージは、宛先ネットワークデバイス110のネットワークレイヤアドレスを備え得る。いくつかの実施形態では、ハイブリッドデバイス102は、宛先ネットワークデバイス110への送信のためのフレームを生成(または受信)し得る。従来のARPユニット302は、従来のARPユニット302に関連付けられた従来のARPキャッシュ304が、宛先ネットワークデバイス110のネットワークレイヤアドレスに関連付けられたリンクレイヤアドレスを備えないと判断し得る。したがって、従来のARPユニット302は、宛先ネットワークデバイス110のネットワークレイヤアドレスを含むARP要求メッセージを生成することができる。フローはブロック604に進む。
[0091] ブロック604において、ハイブリッドARPキャッシュが、ARP要求メッセージによって示されるネットワークレイヤアドレスに関連付けられた1つまたは複数のエントリを備えるかどうかが判断される。ハイブリッドデバイス102の上位プロトコルレイヤ(すなわち、従来のARPユニット302)からARP要求メッセージを受信したことに応答して、ハイブリッドARPユニット104は、ハイブリッドARPキャッシュ106が、受信されたARP要求メッセージ中で示されるネットワークレイヤアドレスに関連付けられた1つまたは複数のエントリを備えるかどうかを判断することができる。ハイブリッドARPキャッシュ106が、ネットワークレイヤアドレスに関連付けられた1つまたは複数のエントリを備えると判断される場合、フローはブロック606に進む。そうではなく、ハイブリッドARPキャッシュ106が、ネットワークレイヤアドレスに関連付けられたいかなるエントリをも備えないと判断される場合、フローはブロック608に進む。
[0092] ブロック606において、ARP要求メッセージを廃棄し、ハイブリッドARPキャッシュ中の情報に基づいて従来のARPユニットのためのARP応答メッセージを生成する。ハイブリッドARPユニット104は、ハイブリッドARPキャッシュ106が、ARP要求メッセージによって示されるネットワークレイヤアドレスに関連付けられた1つまたは複数のエントリを備えると判断される場合、従来のARPユニット302(たとえば、上位プロトコルレイヤ)から受信されたARP要求メッセージを(送信することなしに)廃棄することができる。ハイブリッドARPユニット104は、ネットワークレイヤアドレスに関連付けられた(ハイブリッドARPキャッシュ中の)識別されたエントリに基づいて従来のARPユニット302(たとえば、上位プロトコルレイヤ)のためのARP応答メッセージを生成することができる。たとえば、ARP要求メッセージによって示されるネットワークレイヤアドレスがレガシーデバイスに対応する場合、ハイブリッドARPユニット104は、ハイブリッドARPキャッシュ106から対応するリンクレイヤアドレスを識別し、識別されたリンクレイヤアドレスを含むARP応答メッセージを従来のARPユニット302に与えることができる。別の例として、ARP要求メッセージによって示されるネットワークレイヤアドレスがハイブリッドデバイスに対応する場合、ハイブリッドARPユニット104は、ハイブリッドデバイスに関連付けられた複数のリンクレイヤアドレスのうちの所定の1つを選択し、従来のARPユニット302に与えることができる。別の例として、ARP要求メッセージによって示されるネットワークレイヤアドレスがハイブリッドデバイスに対応する場合、ハイブリッドARPユニット104は、ハイブリッドデバイス間の好ましい送信ルートに対応するハイブリッドデバイスに関連付けられたリンクレイヤアドレスを選択し、与えることができる。別の例として、ARP要求メッセージによって示されるネットワークレイヤアドレスがハイブリッドデバイスに対応する場合、ハイブリッドARPユニット104は、ARP応答メッセージ中で、ハイブリッドデバイスに関連付けられた(リンクレイヤアドレスではなく)ハイブリッドネットワーキングサブレイヤ識別子を従来のARPユニット302に与えることができる。ブロック606から、フローは終了する。
[0093] ブロック608において、ネットワークレイヤアドレスとヌルリンクレイヤアドレスとをもつエントリをハイブリッドARPキャッシュ中に生成する。たとえば、ハイブリッドARPユニット104は、ハイブリッドARPキャッシュ106が、従来のARPユニット302から受信されたARP要求メッセージによって示されるネットワークレイヤアドレスに関連付けられたいかなるエントリをも備えないと判断される場合、新しいエントリをハイブリッドARPキャッシュ106中に生成することができる。ハイブリッドARPキャッシュ106中の新しいエントリは、ARP要求メッセージ中で示されるネットワークレイヤアドレスを備えることができ、リンクレイヤアドレスの代わりに「ヌル」値(または別の所定の値)を備えることができる。いくつかの実施形態では、ハイブリッドARPユニット104は、ネットワークレイヤアドレスに関連付けられた宛先ネットワークデバイス110への送信のための新しいARP要求メッセージを生成することができる。ハイブリッドARPユニット104は、上位プロトコルレイヤ(すなわち、従来のARPユニット302)から受信されたARP要求メッセージを(送信することなしに)廃棄することができる。別の実施形態では、ハイブリッドARPユニット104は、上位プロトコルレイヤ(すなわち、従来のARPユニット302)から受信されたARP要求メッセージを宛先ネットワークデバイス110に送信することができる。フローはブロック610に進む。
[0094] ブロック610において、ハイブリッドARPユニットにおいて1つまたは複数のARP応答メッセージを受信する。たとえば、ハイブリッドARPユニット104は、ハイブリッドデバイス110から1つまたは複数のARP応答メッセージを受信し得る。いくつかの実施形態では、ハイブリッドデバイス110(たとえば、トランシーバユニット116と連携したハイブリッドARPユニット112)は、それのネットワークインターフェースの各々を介してARP応答メッセージを送信し得る。受信されたARP応答メッセージの各々は、ハイブリッドデバイス110のネットワークレイヤアドレスと異なるリンクレイヤアドレスとの間の関連付けを示し得る。いくつかの実施形態では、ハイブリッドARPユニット104は、(図4において説明したように)前に送信されたARP要求メッセージに応答して1つまたは複数のARP応答メッセージを受信し得る。他の実施形態では、ハイブリッドARPユニット104は、ハイブリッドデバイス110に関連付けられた、リンクレイヤアドレス、ネットワークインターフェース、ハイブリッドネットワーキングサブレイヤ識別子、および/またはネットワークレイヤアドレスの変化を示す、1つまたは複数の「非請求」ARP応答メッセージ(たとえば、ARP告知メッセージ)を受信し得る。いくつかの実施形態では、ARPユニット104はまた、通信ネットワーク100のレガシーデバイスから(たとえば、非請求、またはARP要求メッセージに応答した)ARP応答メッセージを受信し得ることに留意されたい。フローはブロック612に進む。
[0095] ブロック612において、ARP応答メッセージを受信したことに応答して、ハイブリッドARPキャッシュが、受信されたARP応答メッセージ中で示されるネットワークレイヤアドレス(「受信されたネットワークレイヤアドレス」)に関連付けられた1つまたは複数のエントリを備えるかどうかが判断される。たとえば、ハイブリッドARPユニット104は、ハイブリッドARPキャッシュ106が、受信されたネットワークレイヤアドレスに関連付けられた1つまたは複数のエントリを備えるかどうかを判断することができる。ハイブリッドARPキャッシュ106が、受信されたネットワークレイヤアドレスに関連付けられた1つまたは複数のエントリを備えるかどうかを判断することの一部として、ハイブリッドARPユニット104は、ハイブリッドARPキャッシュ106が、受信されたネットワークレイヤアドレスに関連付けられたリンクレイヤアドレスフィールド中の「ヌル」(または別の所定の)値をもつ1つまたは複数のエントリを備えるかどうかをも判断することができる。ハイブリッドARPキャッシュ106が、受信されたARP応答メッセージ中で示されるネットワークレイヤアドレスに関連付けられた1つまたは複数のエントリを備えると判断される場合、フローはブロック614に進む。他の場合、フローはブロック616に進む。
[0096] ブロック614において、1つまたは複数の受信されたARP応答メッセージに基づいてハイブリッドARPキャッシュを更新する。たとえば、ハイブリッドARPユニット104は、ハイブリッドARPキャッシュ106が、受信されたARP応答メッセージ中で示されるネットワークレイヤアドレスに関連付けられた1つまたは複数のエントリを備えると判断される場合、受信されたARP応答メッセージに基づいてハイブリッドARPキャッシュ106を更新することができる。たとえば、ハイブリッドARPキャッシュ106が、ARP応答メッセージ中で受信されたネットワークレイヤアドレスに関連付けられた「ヌル」リンクレイヤアドレスエントリを備える場合、ハイブリッドARPユニット104は、この「ヌル」値を、受信されたARP応答メッセージ中で示されるリンクレイヤアドレス(またはハイブリッドネットワーキングサブレイヤ識別子)で上書き/と交換することができる。別の例として、受信されたARP応答メッセージは、1つまたは複数の新しいリンクレイヤアドレス、1つまたは複数の非アクティブリンクレイヤアドレス、代替ハイブリッドネットワーキングサブレイヤアドレスなどを備えることができる。ハイブリッドARPユニット104は、したがって、ARP応答メッセージ中で受信されたこの情報を反映するためにハイブリッドARPキャッシュ106を更新することができる。フローはブロック616に進む。
[0097] ブロック616において、ハイブリッドデバイスの従来のARPユニットへの送信のための新しいARP応答メッセージを生成する。たとえば、ハイブリッドARPユニット104は、ハイブリッドデバイス102の従来のARPユニット302(すなわち、上位プロトコルレイヤ)に送信されるべき新しいARP応答メッセージを生成することができる。いくつかの実施形態では、ブロック610において受信されたARP応答メッセージを生成したネットワークデバイスがハイブリッドデバイス110であった場合、(ハイブリッドARPユニット104によって生成された)新しいARP応答メッセージは、ハイブリッドデバイス110のネットワークレイヤアドレスと、ハイブリッドデバイス110に関連付けられたハイブリッドネットワーキングサブレイヤ識別子とを備えることができる。新しいARP応答メッセージが生成されるときにハイブリッドネットワーキングサブレイヤ識別子が未知である場合、ハイブリッドARPユニット104は、新しいARP応答メッセージ中で特殊符号化を用いてハイブリッドデバイス110に関連付けられた何らかの好適なリンクレイヤアドレス(または別の好適なアドレス)を挿入することができる。特殊符号化を用いたリンクレイヤアドレスは、従来のARPユニット302には実際のリンクレイヤアドレスのように見えることがある。しかしながら、ハイブリッドARPユニット104は、特殊符号化を用いたリンクレイヤアドレスを、ハイブリッドデバイス110に関連付けられたハイブリッドネットワーキングサブレイヤ識別子が未知であるという指示として解釈することができる。いくつかの実施形態では、(ハイブリッドARPユニット104から従来のARPユニット302に与えられる)新しいARP応答メッセージは、リンクレイヤアドレスに関連付けられたハイブリッドデバイス110への1次/好ましい送信ルートに関連付けられたリンクレイヤアドレスを含むことができる。これは、上位プロトコルレイヤの従来のARPユニット302からハイブリッドARPユニット104において受信された(送信されるようにスケジュールされた)フレームにおいてアドレスを上書きする必要を最小限に抑えることができる。これは、ARP応答メッセージが別のハイブリッドデバイス110から受信される(およびハイブリッドARPキャッシュ106が更新される)たびに、新しいARP応答メッセージを生成し、従来のARPユニット302に与える必要をも最小限に抑えることができる。いくつかの実施形態では、ハイブリッドARPユニット104は新しいARP応答メッセージを生成しないことがある。代わりに、ハイブリッドARPユニット104は、変更されたARP応答メッセージがハイブリッドネットワーキングサブレイヤ識別子(または別の好適なリンクレイヤアドレス)を含むように、(ブロック610において受信された)受信されたARP応答メッセージを単に変更することができる。新しい/変更されたARP応答メッセージのリンクレイヤアドレスフィールドにおいて従来のARPユニット302に与えられた値は、ハイブリッドARPキャッシュ106へのリンク/ポインタとして(ハイブリッドARPユニット104によって)使用され得る。ブロック616から、フローは終了する。
[0098] 宛先ネットワークデバイス(レガシーデバイスまたはハイブリッドデバイスのいずれか)にフレームを送信することを判断したことに応答して、従来のARPユニット302は、従来のARPキャッシュ304中の情報に基づいてフレームにおいて宛先リンクレイヤアドレスをポピュレートすることができることを理解されたい。ハイブリッドARPユニット104は、従来のARPユニット302によってポピュレートされた宛先リンクレイヤアドレスを含むこのフレームを受信することができる。(従来のARPユニット302によってポピュレートされた)この宛先リンクレイヤアドレスは、宛先ネットワークデバイスに関連付けられたハイブリッドネットワーキングサブレイヤ識別子、別の好適なアドレス/識別子、または宛先ネットワークデバイスに関連付けられたリンクレイヤアドレス(またはハイブリッドネットワーキングサブレイヤ識別子)が未知であることを示す特殊符号化であり得る。図4および図5を参照しながら上記で説明したように、ハイブリッドARPユニット104は、ハイブリッドARPキャッシュ106へのポインタとして(従来のARPユニット302によってポピュレートされた)宛先リンクレイヤアドレスを使用し、ハイブリッドARPキャッシュ106中の情報に基づいて送信ルート、送信インターフェース、および/またはターゲット宛先リンクレイヤアドレスを選択することができる。ハイブリッドARPユニット104は、ハイブリッドARPキャッシュ106から判断された情報を反映するために(必要な場合)フレーム中の1つまたは複数のフィールドを上書きすることができる。フレームは、次いで、選択された送信インターフェースからおよび選択された送信ルートを介して送信され得る。
[0099] また、いくつかの実施形態では、ハイブリッドARPキャッシュ106は、ブロック602において従来のARPユニット302から受信されたARP要求メッセージによって示されるネットワークレイヤアドレスのためのエントリを備えないことがあることに留意されたい。この実施形態では、ハイブリッドARPユニットは、代用リンクレイヤアドレスを含むARP応答メッセージを生成する(および従来のARPユニット302に送信する)ことができる。この代用リンクレイヤアドレスは、リンクレイヤアドレスのための特殊符号化であり得、ARP要求メッセージによって示されるネットワークレイヤアドレスに関連付けられた実際のリンクレイヤアドレスであるように(従来のARPユニット302には)見えることがある。しかしながら、特殊符号化の存在は、ネットワークレイヤアドレスに関連付けられたハイブリッドネットワーキングサブレイヤ識別子(またはリンクレイヤアドレス)が未知であることをハイブリッドARPユニット104に示すことができる。ハイブリッドARPユニット104からこのARP応答メッセージを受信したことに応答して、従来のARPユニット302は、旧来のARPキャッシュ304を更新し、宛先ネットワークデバイスに向けられたフレームのリンクレイヤアドレスフィールドにおいて代用リンクレイヤアドレスをポピュレートし、送信のためにハイブリッドネットワーキングサブレイヤ(たとえば、ハイブリッドARPユニット104)にフレームを与えることができる。さらに、ハイブリッドARPユニット104が、従来のARPユニット302に代用リンクレイヤアドレス(たとえば、特殊符号化)を備えるARP応答メッセージを与えた後、ハイブリッドARPユニット104は、上記で説明したように、1つまたは複数のARP要求メッセージを生成し、宛先ネットワークデバイスに送信し、1つまたは複数のARP応答メッセージ(および/またはトポロジーメッセージ)を受信し、受信されたメッセージに基づいてハイブリッドARPキャッシュ106をポピュレートすることができる。ハイブリッドARPユニット104は、宛先ネットワークデバイス110から受信されたアドレス情報を反映するために従来のARPユニットに新しいARP応答メッセージを送信することも送信しないこともある。また、いくつかの実施形態では、ハイブリッドARPユニット104は、ハイブリッドARPキャッシュ106の一部でないネットワークレイヤアドレスを含むARP要求メッセージを(従来のARPユニット302から)受信し得ることに留意されたい。この実施形態では、ハイブリッドARPユニット104は、ネットワークレイヤアドレスとリンクレイヤアドレスのための「ヌル」値とを備えるエントリをハイブリッドARPキャッシュ106中に作成することができる。ハイブリッドARPユニット104が、宛先ネットワークデバイス110から適切なARP応答メッセージ(および/またはトポロジーメッセージ)を受信した後、ハイブリッドARPユニット104は、「ヌル」値を宛先ネットワークデバイス110に関連付けられた正しいリンクレイヤアドレスと交換することによってハイブリッドARPキャッシュ106を更新することができる。
[00100] いくつかの実施形態では、ハイブリッドARPユニット104が、別のハイブリッドデバイス110(たとえば、ハイブリッドARPユニット112)からARP要求メッセージを受信する場合、ハイブリッドARPユニット104は、ハイブリッドデバイス110に1つまたは複数のARP応答メッセージおよび/またはトポロジーメッセージを送信し得る。ハイブリッドARPユニット104は、上位プロトコルレイヤに関連付けられた従来のARPユニット302に受信されたARP要求メッセージを送信しないことがある。代替的に、ハイブリッドARPユニット104は、従来のARPユニット302に受信されたARP要求メッセージをフォワーディングし、(必要な場合)従来のARPユニット302によって生成されたARP応答メッセージを変更し、変更されたARP応答メッセージをハイブリッドデバイス110に与え得る。さらに、ハイブリッドARPユニット104が、ハイブリッドデバイス110に関連付けられたリンクレイヤアドレス(またはハイブリッドネットワーキングサブレイヤ識別子)が更新されたと(たとえば、受信されたARP応答メッセージおよび/または受信されたトポロジーメッセージに基づいて)判断する場合、ハイブリッドARPユニット104は、従来のARPユニット302に従来のARPキャッシュ304中のアドレス関連付けを変更させるために、従来のARPユニット302に無償/非請求ARP告知メッセージを送信することができる。
[00101] 図1〜図6は、実施形態を理解するのを助けるための例であり、実施形態を限定したり、特許請求の範囲を限定したりするために使用されるべきでないことを理解されたい。実施形態は、追加の動作を実行し、より少ない動作を実行し、動作を異なる順序で実行し、動作を並行して実行し、いくつかの動作を別様に実行し得る。いくつかの実施形態では、ハイブリッドARPキャッシュ106は、限られた数のエントリを備え得る。したがって、新しいエントリおよび新しいアドレスマッピングのためのスペースを作るためにハイブリッドARPキャッシュ106から1つまたは複数のエントリを除去するために、好適な機構が採用され得る。一実施形態では、どのエントリがハイブリッドARPキャッシュ106から削除されるべきであるかを識別するために、エージングプロセスが使用され得る。たとえば、ハイブリッドARPユニット104は、ハイブリッドARPキャッシュ106中のエントリの有効性を確認するARP応答メッセージを受信したことに応答して、(たとえば、そのエントリに関連付けられたフラグビットを設定することによって)そのエントリを削除しないことを判断し得る。別の例として、ハイブリッドARPユニット104は、ハイブリッドARPキャッシュ106中のエントリの有効性を確認するトポロジーメッセージを受信したことに応答して、そのエントリを削除しないことを判断し得る。別の例として、ハイブリッドARPキャッシュ106中の1つまたは複数のエントリは、それらが、送信されたフレームにおいて宛先リンクレイヤアドレスをポピュレートするために最近使用されなかった場合、エージングアウト(たとえば、ハイブリッドARPキャッシュ106から除去)され得る。この例では、ハイブリッドARPキャッシュ106中のエントリの各々は、そのエントリが使用されるたびに更新され得るタイムスタンプに関連付けられ得る。エントリは、そのエントリに関連付けられたタイムスタンプが満了するかまたは所定のエージングしきい時間よりも大きい場合、廃棄され得る。さらに、ハイブリッドデバイス110に関連付けられたエントリのうちの1つがエージングした場合、そのハイブリッドデバイス110に関連付けられたエントリのすべてが、ハイブリッドデバイス110に関する部分的な情報を回避するためにハイブリッドARPキャッシュ106から除去され得る。これは、ハイブリッドデバイス110に関連付けられたネットワークインターフェースに関する不完全な情報により宛先リンクレイヤアドレスの悪い選定を行う可能性を最小限に抑えることができる。別の実施形態では、ハイブリッドARPユニット104は、ハイブリッドARPキャッシュ106中の各ネットワークレイヤアドレスにARP要求メッセージを周期的に送信することができ、ハイブリッドARPキャッシュ106中の情報が現在のものであることを保証するために、受信されたARP応答メッセージに基づいてハイブリッドARPキャッシュ106中のエントリを更新することができる。別の実施形態では、ハイブリッドARPユニット104は、ハイブリッドARPキャッシュ106中の対応するエントリが有効であるかどうかを判断するために、受信されたフレーム中のソースネットワークレイヤアドレスおよびソースリンクレイヤアドレスフィールドをスヌープ/検査することができる。ハイブリッドARPキャッシュ106中のエントリが、受信されたフレームから判断されたソースネットワークレイヤアドレスおよびソースリンクレイヤアドレスフィールドと整合しない場合、そのエントリはハイブリッドARPキャッシュ106から削除され得る。
[00102] いくつかの実施形態では、ハイブリッドARPユニット104は、どのエントリがハイブリッドARPキャッシュ106から除去されるべきであるかを判断するためにトポロジーメッセージを使用することができる。たとえば、受信されたトポロジーメッセージが、ネットワークレイヤアドレスと、すべての関連付けられたリンクレイヤアドレスのリストと(および/またはハイブリッドネットワーキングサブレイヤに関連付けられた識別子)を備える場合、ハイブリッドARPユニット104は、受信されたトポロジーメッセージ中の情報と整合するようにハイブリッドARPキャッシュ106を更新することができる。受信されたトポロジーメッセージと整合しないハイブリッドARPキャッシュ106中のエントリはハイブリッドARPキャッシュ106から除去され得る。いくつかの実施形態では、受信されたトポロジーメッセージは、ハイブリッドデバイス110に関連付けられたすべてのリンクレイヤアドレスのリストを備え得るが、ハイブリッドデバイス110に関連付けられたネットワークレイヤアドレスを備えないことがある。この実施形態では、ハイブリッドARPユニット104は、受信されたトポロジーメッセージ中のリンクレイヤアドレスに一致するリンクレイヤアドレスをもつハイブリッドARPキャッシュ106中の少なくとも1つのエントリがあるかどうかを判断することができる。そうである場合、ハイブリッドARPユニット104は、受信されたトポロジーメッセージ中の情報と、ハイブリッドARPキャッシュ106から判断されたネットワークレイヤアドレスの知識とを使用して、ハイブリッドARPキャッシュ106を更新することができる。
[00103] いくつかの実施形態では、ハイブリッドデバイス102が最初に通信ネットワークに加入するとき、ハイブリッドARPユニット104は、ARP応答メッセージを受信するより前に通信ネットワーク100において1つまたは複数のハイブリッドデバイス(またはデバイスインターフェース)に関連付けられたトポロジーメッセージを受信し得る。別の実施形態では、ハイブリッドARPユニット104は、トポロジーメッセージを受信するより前にARP応答メッセージを受信し得る。メッセージが受信される順序にかかわらず、ハイブリッドARPユニット104は、すべての受信されたメッセージから判断された情報を使用してハイブリッドARPキャッシュ106をポピュレート/プルーニングすることができる。メッセージ中で受信されなかった情報は、ハイブリッドARPキャッシュ106において一時的に「未知」とマークされ得る。たとえば、(ハイブリッドARPユニット104において受信された)トポロジーメッセージが、トポロジーメッセージを送信したハイブリッドデバイス110に関連付けられたネットワークレイヤアドレスを備えない場合、ハイブリッドARPユニット104は、トポロジーメッセージ中で受信された他の情報(たとえば、1つまたは複数のリンクレイヤアドレス)に基づいて1つまたは複数のエントリをハイブリッドARPキャッシュ106中に作成することができ、ネットワークレイヤアドレスフィールドを「未知」とマークすることができる。ハイブリッドARPユニット104が、消失した情報があるARP応答メッセージ(または別のトポロジーメッセージ)を受信するとき、ハイブリッドARPユニット104は、ハイブリッドARPキャッシュ106において1つまたは複数の一致するエントリの位置を特定することができ、ARP応答メッセージ中で受信された適切なネットワークレイヤアドレスでそれらのエントリをポピュレートすることができる。
[00104] いくつかの実施形態では、ハイブリッドデバイス110(たとえば、ハイブリッドARPユニット112)は、ハイブリッドデバイス110の(基礎をなすネットワークインターフェースに関連付けられた)リンクレイヤアドレスのうちの1つが有効でないことを示すためにARP「関連付けキャンセル」メッセージを送信することができる。たとえば、ARP「関連付けキャンセル」メッセージは、ハイブリッドデバイス110に関連付けられたネットワークインターフェースが無効にされる場合、または、ハイブリッドデバイス110に関連付けられたネットワークレイヤアドレス(およびハイブリッドネットワーキングサブレイヤ)が変化し、もはや有効でない場合、送信され得る。ARP「関連付けキャンセル」メッセージを受信したことに応答して、ハイブリッドデバイス102(たとえば、ハイブリッドARPユニット104)は、ARP「関連付けキャンセル」メッセージ中で示されるキャンセルされたリンクレイヤアドレスおよび/またはキャンセルされたネットワークレイヤアドレスに対応するハイブリッドARPキャッシュ106中の1つまたは複数のエントリを識別することができる。ハイブリッドARPユニット104は、ハイブリッドARPキャッシュ106から、識別された1つまたは複数のエントリを除去することができる。ARP告知メッセージがARP「関連付けキャンセル」メッセージであるかどうかを示すために、様々な技法が採用され得る。一例では、ARP告知メッセージをARP「関連付けキャンセル」メッセージに指定するために、所定の値がARP告知メッセージのフィールドにおいて送信され得る。別の例として、ARP告知メッセージがARP「関連付けキャンセル」メッセージであることを示すために、所定の符号化がARP告知メッセージに適用され得る。別の例として、ARP「関連付けキャンセル」メッセージは、旧来のARP告知メッセージのメッセージフォーマットとは異なるメッセージフォーマットを使用して送信され得る。別の例として、ARP告知メッセージがARP「関連付けキャンセル」メッセージであることを示すために、所定の符号化がARP告知メッセージのフィールドのサブセットに適用され得る。たとえば、ARP告知メッセージ中のリンクレイヤアドレスフィールド中の「グループ/マルチキャスト」ビットまたは「ローカルに管理されるアドレス」ビットが、そのメッセージをARP「関連付けキャンセル」メッセージに指定するために「1」に設定され得る。
[00105] いくつかの実施形態では、ハイブリッドデバイス102および110(たとえば、ハイブリッドARPユニット104および112)は、それらのそれぞれのハイブリッドARPキャッシュ106および114をポピュレートするためにトポロジーメッセージを使用しないことがある。代わりに、ハイブリッドARPユニット104および112は、それらのそれぞれのハイブリッドARPキャッシュ106および114をポピュレートするために、ならびにネットワークレイヤアドレス対リンクレイヤアドレス関連付けを示すために、従来のARPプロシージャと従来のARPメッセージとを使用することができる。この実施形態では、ハイブリッドARPユニット104が、別のハイブリッドARPユニット112からARP要求メッセージを受信する場合、ハイブリッドARPユニット104は、複数の一意のARP応答メッセージ、すなわち、ハイブリッドデバイス102の各ネットワークインターフェースについて1つのARP応答メッセージ(すなわち、ハイブリッドデバイス102に関連付けられた各リンクレイヤアドレスについて1つのARP応答メッセージ)で応答することができる。複数のARP応答メッセージの組合せは、ハイブリッドデバイス102のネットワークレイヤアドレスとリンクレイヤアドレスとの間の完全な1対多の関連付けを示すことができる。ARP応答メッセージを受信する他のハイブリッドデバイスは、図1〜図6を参照しながら上記で説明したように、それらのそれぞれのハイブリッドARPキャッシュをポピュレートすることができる。ハイブリッドARPユニット112が、ARP応答メッセージ中で受信されたネットワークレイヤアドレスはすでにハイブリッドARPキャッシュ114中に存在するが、ARP応答メッセージ中で受信されたリンクレイヤアドレスはハイブリッドARPキャッシュ114中に存在しないと判断する場合、ハイブリッドARPユニット112は、ARP応答メッセージ中で受信されたネットワークレイヤアドレスとリンクレイヤアドレスとの間の関連付けを反映するためにハイブリッドARPキャッシュ114に新しいエントリを追加することができる。
[00106] 本明細書で説明する動作に加えて、ハイブリッドデバイス102のハイブリッドARPユニット104は、ハイブリッドデバイス102のネットワークレイヤ対リンクレイヤ関連付けが変化する場合、他のハイブリッドデバイス110に通知するために非請求ARP告知メッセージをも送信することができることを理解されたい。たとえば、ハイブリッドデバイス102の前に無効にされたネットワークインターフェースが有効にされる場合、ハイブリッドARPユニット104は、他のハイブリッドデバイス110にそれらのそれぞれのハイブリッドARPキャッシュを更新させるために非請求ARP告知メッセージを送信することができる。いくつかの実施形態では、通信ネットワーク100中のすべてのネットワークデバイスがハイブリッドデバイスである場合、ハイブリッドARPユニット104は、新しいネットワークレイヤアドレス対リンクレイヤアドレス関連付けを告知するためにマルチキャストARP告知メッセージを送信することができる。他の場合、ハイブリッドARPユニット104は、ネットワークデバイスのうちの1つまたは複数に選択的に通知するために(たとえば、ハイブリッドデバイスのみに通知するために)ユニキャストメッセージを送信することができる。いくつかの実施形態では、ハイブリッドARPユニット104は、ハイブリッドデバイス102に関連付けられた1次送信ルートの変更がある場合のみ、レガシーデバイスにユニキャストARP告知メッセージを送信することができる。いくつかの実施形態では、ハイブリッドARPユニット104は、ネットワークデバイスから受信されたメッセージのタイプ、ネットワークデバイスから受信された1つまたは複数のメッセージ中の通知、ネットワークデバイスから受信されたメッセージの数などに基づいて、ネットワークデバイスがレガシーデバイスであるのかハイブリッドデバイスであるのかを判断することができることに留意されたい。たとえば、ハイブリッドARPユニット104が、所定の時間間隔内に同じネットワークデバイスから複数のARP告知メッセージを受信する場合、ハイブリッドARPユニット104は、ネットワークデバイスがハイブリッドデバイスであると判断することができる。別の例として、ハイブリッドARPユニット104が、ネットワークデバイスからトポロジーメッセージを受信する場合、ハイブリッドARPユニット104は、ネットワークデバイスがハイブリッドデバイスであると判断することができる。
[00107] いくつかの実施形態では、ハイブリッドARPユニット104は、受信されたARP告知メッセージ、ARP応答メッセージ、および/またはトポロジーメッセージを検査することによって、ネットワークトポロジーおよび/または利用可能な送信ルートを推論することができる。たとえば、ソースネットワークデバイスが、ARP告知メッセージ中でソースリンクレイヤアドレスをポピュレートし得る。ソースリンクレイヤアドレスがソースネットワークデバイスの送信インターフェースに関連付けられた場合、ハイブリッドデバイス102の受信インターフェースにおいてARP告知メッセージを受信したことに応答して、ハイブリッドARPユニット104は、ハイブリッドデバイス102の受信インターフェースとソースネットワークデバイスの(ソースリンクレイヤアドレスに対応する)送信インターフェースとの間の有効な送信ルートがあることを推論することができる。したがって、ハイブリッドARPユニット104は、この情報をネットワークトポロジーデータベース、送信ルートデータベース、および/またはハイブリッドARPキャッシュ106に記憶することができる。いくつかの実施形態では、ハイブリッドARPユニット104はまた、送信ルートの品質を推論するために、送信ルートに関連付けられた到着時間を計算することができる。
[00108] いくつかの実施形態では、ハイブリッドデバイス102のハイブリッドARPユニット104は、ハイブリッドデバイスに関連付けられた(ハイブリッドARPキャッシュ106中の)エントリを維持するためにトポロジーメッセージを採用することができる。ハイブリッドARPユニット104は、レガシー(非ハイブリッド)デバイスに関連付けられた(ハイブリッドARPキャッシュ106中の)エントリを維持するためにARPメッセージを採用することができる。これのために、トポロジーメッセージは、トポロジーメッセージを送信しているハイブリッドデバイス110に関連付けられたリンクレイヤアドレスに加えてネットワークレイヤアドレスを含むように構成され得る。この実施形態では、ハイブリッドデバイス110に関連付けられた(ハイブリッドARPキャッシュ106中の)エントリを更新するために、ハイブリッドデバイス102のハイブリッドARPユニット104は、ARP要求メッセージを送信する代わりにトポロジーメッセージについての(ハイブリッドデバイス110への)要求を送信することができる。代替的に、ハイブリッドARPユニット104は、ハイブリッドデバイスのうちの対応するハイブリッドデバイスに関連付けられたトポロジーメッセージを要求するマルチキャストメッセージをすべてのハイブリッドデバイスに送信することができる。いくつかの実施形態では、ハイブリッドデバイスの各々は、ハイブリッドデバイスに関連付けられた、リンクレイヤアドレスの完全なリスト、ネットワークレイヤアドレス、および/またはハイブリッドネットワーキングサブレイヤ識別子を(トポロジーメッセージ中で)送信し得る。ハイブリッドデバイスの各々は、ネットワークレイヤアドレスと好ましい送信ルートに関連付けられたリンクレイヤアドレスとを備えるARP告知メッセージをも送信し得る。これは、A)通信ネットワークのレガシーデバイスが、ハイブリッドデバイスと通信するために好ましい送信ルートを利用することと、B)他のハイブリッドデバイスが、トポロジーメッセージを送信したハイブリッドデバイスの、ネットワークレイヤアドレスと、ハイブリッドネットワーキングサブレイヤ識別子と、すべてのリンクレイヤアドレスとに気づいていることとを保証することができる。
[00109] いくつかの実施形態では、ハイブリッドデバイス102のハイブリッドARPユニット104がARP要求メッセージを受信する場合、ハイブリッドARPユニット104は、ハイブリッドデバイス102とARP要求メッセージを送信したネットワークデバイスとの間の好ましい送信ルートに関連付けられたリンクレイヤアドレスを備えるARP告知メッセージで応答することができる。別の実施形態では、ハイブリッドARPユニット104がARP要求メッセージを受信する場合、ハイブリッドARPユニット104は、最初に、ハイブリッドデバイスがARP要求メッセージを送信したのかレガシーデバイスがARP要求メッセージを送信したのかを判断することができる。ハイブリッドデバイスがARP要求メッセージを送信した場合、ハイブリッドARPユニット104は、ARP応答メッセージで応答することができ、ARP応答メッセージのリンクレイヤアドレスフィールドにおいてハイブリッドネットワーキングサブレイヤ識別子を与えることができる。他の実施形態では、ハイブリッドデバイスがARP要求メッセージを送信した場合、ハイブリッドARPユニット104は、複数のネットワークインターフェースのうちの対応するネットワークインターフェース上で複数のARP応答メッセージを送信することによって応答することができる。他の実施形態では、ハイブリッドデバイスがARP要求メッセージを送信した場合、ハイブリッドARPユニット104は、ハイブリッドデバイス102に関連付けられたすべてのリンクレイヤアドレスのリストを含むトポロジーメッセージを送信することによって応答することができる。いくつかの実施形態では、レガシーデバイスがARP要求メッセージを送信した場合、ハイブリッドARPユニット104は、ARP応答メッセージで応答することができ、ハイブリッドデバイス102の好ましい送信ルートに関連付けられたリンクレイヤアドレスを与えることができる。
[00110] いくつかの実施形態では、ハイブリッドARPユニット104は、ハイブリッドデバイス102の各ネットワークインターフェースからARP要求メッセージと非請求ARP告知メッセージとを(トランシーバユニット108を介して)送信し得る。しかしながら、いくつかの実施形態では、ハイブリッドARPユニット104は、通信ネットワーク100内の宛先ネットワークデバイス(たとえば、ARP要求メッセージがそれから送信されるべきである送信インターフェース)のロケーションの知識を有し得る。したがって、ハイブリッドARPユニット104は、「既知の」送信インターフェースのみを介してARP要求メッセージを送信することができる。いくつかの実施形態では、ハイブリッドARPユニット104は、非請求ARP告知メッセージが、ハイブリッドデバイス102のネットワークインターフェースのサブセットを介して送信されるべきであると(たとえば、ネットワークトポロジーおよび/またはルートメトリック情報に基づいて)判断し得る。したがって、ハイブリッドARPユニット104は、非請求ARP告知メッセージを送信することができ、ネットワークインターフェースの識別されたサブセットを介して送信され得る。いくつかの実施形態では、ARP要求メッセージを受信したことに応答して、ハイブリッドARPユニット104は、ARP要求メッセージがそれの上で受信された同じネットワークインターフェースを介してARP応答メッセージを送信することができる。いくつかの実施形態では、ネットワークトポロジー情報に基づいて、ハイブリッドARPユニット104は、ARP要求メッセージがそれにおいて受信されたネットワークインターフェースとは異なる1つまたは複数のネットワークインターフェースを介してARP応答メッセージを送信することができる。
[00111] 最後に、各図は、送信ルートが、ルートメトリック情報、送信ルート情報、アドレス関連付け情報などに基づいて選択されることを表すが、実施形態はそのように限定されないことに留意されたい。他の実施形態では、送信ルートは、フレームのタイプ、または(送信のためにスケジュールされた)フレームが属するトラフィックのクラスに基づいて選択され得る。フレームが属するトラフィックのクラスは、フレームに関連付けられた優先度レベル、プロトコルのタイプ(UDPまたはTCP)、および/あるいはトラフィックの共通ストリームを示すかまたは配信緊急度を推論するレイヤ3インジケータに基づいて、判断され得る。たとえば、デバイスのペア間で高優先度フレームを送信するために第1の送信ルート(たとえば、好ましいまたは最良の利用可能な送信ルート)および対応する第1の送信インターフェースが選択され得る。より低い優先度のフレームの送信が高優先度フレームの送信と競合(または、その送信に干渉)しないように、デバイスの同じペア間でより低い優先度のフレームを送信するために第2の送信ルート(たとえば、必ずしも最良の利用可能な送信ルートとは限らない)および対応する第2の送信インターフェースが選択され得る。いくつかの実施形態では、フレームのための送信ルートが、前に選択された送信ルートに基づいて判断されるとき、前に選択された送信ルートは、フレームのタイプ、または前に送信されたフレームが属するトラフィックのクラスに基づいて判断されていることがある。たとえば、あらかじめ定義された優先度レベルに関連付けられたフレームを送信することを判断したことに応答して、同じあらかじめ定義された優先度レベルをもつフレームを送信するために前に使用された送信ルートが選択され得る。
[00112] 当業者なら諒解するように、本発明の主題の態様は、システム、方法、またはコンピュータプログラム製品として実施され得る。したがって、本発明の主題の態様は、完全にハードウェアの実施形態、(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)ソフトウェアの実施形態、またはソフトウェアの態様とハードウェアの態様とを組み合わせた実施形態の形態をとり得、本明細書では、それらすべてを全般的に「回路」、「モジュール」または「システム」と呼ぶことがある。さらに、本発明の主題の態様は、コンピュータ可読プログラムコードを組み込んだ1つまたは複数のコンピュータ可読媒体中に組み込まれたコンピュータプログラム製品の形態をとり得る。
[00113] 1つまたは複数のコンピュータ可読媒体の任意の組合せが利用され得る。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体であり得る。コンピュータ可読記憶媒体は、限定はしないが、たとえば、電子、磁気、光、電磁、赤外線、または半導体のシステム、装置、またはデバイス、あるいは上記の任意の適切な組合せであり得る。コンピュータ可読記憶媒体のより具体的な例(非網羅的なリスト)としては、1つまたは複数のワイヤを有する電気的接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、消去可能プログラマブル読取り専用メモリ(EPROMまたはフラッシュメモリ)、光ファイバー、ポータブルコンパクトディスク読取り専用メモリ(CD−ROM)、光記憶デバイス、磁気記憶デバイス、または上記の任意の好適な組合せがあり得る。本明細書のコンテキストでは、コンピュータ可読記憶媒体は、命令実行システム、装置、またはデバイスによってあるいはそれらに関連して使用するためのプログラムを包含または記憶することができる任意の有形媒体であり得る。
[00114] コンピュータ可読信号媒体は、たとえば、ベースバンドにおいて、または搬送波の一部として、コンピュータ可読プログラムコードが組み込まれた伝搬されたデータ信号を含み得る。そのような伝搬信号は、限定はしないが、電磁気、光、またはそれらの任意の好適な組合せを含む、様々な形態のうちのいずれかをとり得る。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、命令実行システム、装置、またはデバイスによってあるいはそれらに関連して使用するためのプログラムを通信、伝搬、またはトランスポートすることができる、任意のコンピュータ可読媒体であり得る。
[00115] コンピュータ可読媒体上で実施されるプログラムコードは、限定はしないが、ワイヤレス、ワイヤライン、光ファイバーケーブル、RFなど、または上記の任意の好適な組合せを含む、任意の適切な媒体を使用して送信され得る。
[00116] 本発明の主題の態様のための動作を実行するためのコンピュータプログラムコードは、Java(登録商標)、Smalltalk、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで書かれ得る。プログラムコードは、完全にユーザのコンピュータ上で実行されるか、部分的にユーザのコンピュータ上で実行されるか、スタンドアロンソフトウェアパッケージとして実行されるか、部分的にユーザのコンピュータ上と部分的にリモートコンピュータ上とで実行されるか、あるいは完全にリモートコンピュータまたはサーバ上で実行され得る。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む、任意のタイプのネットワークを介してユーザのコンピュータに接続され得、または接続が(たとえば、インターネットサービスプロバイダを使用してインターネットを介して)外部コンピュータに行われ得る。
[00117] 本発明の主題の態様について、本発明の主題の実施形態に従って、方法、装置(システム)およびコンピュータプログラム製品のフローチャート図および/またはブロック図を参照しながら説明する。フローチャート図および/またはブロック図の各ブロック、ならびにフローチャート図および/またはブロック図におけるブロックの組合せはコンピュータプログラム命令によって実装され得ることを理解されよう。これらのコンピュータプログラム命令は、機械を製造するために、汎用コンピュータ、専用コンピュータ、または他のプログラマブルデータ処理装置のプロセッサに与えられ得、その結果、コンピュータまたは他のプログラマブルデータ処理装置のプロセッサを介して実行される命令は、フローチャートおよび/またはブロック図の1つまたは複数のブロック中で指定された機能/動作を実装するための手段を作成する。
[00118] これらのコンピュータプログラム命令はまた、コンピュータ、他のプログラマブルデータ処理装置、または他のデバイスに、特定の方法で機能するように指示することができるコンピュータ可読媒体に記憶され得、その結果、コンピュータ可読媒体に記憶された命令は、フローチャートおよび/またはブロック図の1つまたは複数のブロック中で指定された機能/動作を実装する命令を含む製造品を製造する。
[00119] コンピュータプログラム命令はまた、コンピュータ、他のプログラマブルデータ処理装置、または他のデバイスにロードされて、一連の動作ステップをコンピュータ、他のプログラマブル装置または他のデバイス上で実行されるようにさせて、コンピュータ実装プロセスを作成し得、その結果、コンピュータまたは他のプログラマブル装置上で実行される命令は、フローチャートおよび/またはブロック図の1つまたは複数のブロック中で指定された機能/動作を実装するためのプロセスを提供する。
[00120] 図7は、ハイブリッド通信ネットワークのためのハイブリッドARP機構を含む電子デバイス700の一実施形態のブロック図である。いくつかの実装形態では、電子デバイス700は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、モバイルフォン、スマートアプライアンス、電力線通信デバイス、ゲーミングコンソール、ネットワークブリッジングデバイス、アクセスポイント、または複数の通信ネットワークにわたって通信するように構成されたハイブリッド通信ユニットを備える他の電子システムのうちの1つであり得る。電子デバイス700は、(場合によっては、複数のプロセッサ、複数のコア、複数のノードを含む、および/またはマルチスレッドを実装するなどの)プロセッサユニット702を含む。電子デバイス700はメモリユニット706を含む。メモリユニット706は、システムメモリ(たとえば、キャッシュ、SRAM、DRAM、ゼロキャパシタRAM、ツイントランジスタRAM、eDRAM、EDO RAM、DDR RAM、EEPROM(登録商標)、NRAM、RRAM(登録商標)、SONOS、PRAMなどのうちの1つまたは複数)あるいは上記ですでに説明した、機械可読媒体の可能な実現形態のうちのいずれか1つまたは複数であり得る。電子デバイス700は、バス710(たとえば、PCI、ISA、PCI−Express、HyperTransport(登録商標)、InfiniBand(登録商標)、NuBus、AHB、AXIなど)と、ワイヤレスネットワークインターフェース(たとえば、WLANインターフェース、Bluetoothインターフェース、WiMAXインターフェース、ZigBee(登録商標)インターフェース、Wireless USBインターフェースなど)およびワイヤードネットワークインターフェース(たとえば、PLCインターフェース、イーサネットインターフェースなど)のうちの少なくとも1つを含むネットワークインターフェース704とをも含む。いくつかの実装形態では、電子デバイス700は、電子デバイス700を異なる通信ネットワークに各々が結合する、複数のネットワークインターフェースを備えることができる。たとえば、電子デバイス700は、電子デバイス700をそれぞれ電力線通信ネットワーク、イーサネット、およびワイヤレスローカルエリアネットワークと結合する、PLCインターフェース、イーサネットインターフェース、およびWLANインターフェースを備えることができる。
[00121] 電子デバイス700は通信ユニット708をも含む。通信ユニット708は、ハイブリッドARPユニット712とハイブリッドARPキャッシュ714とを備える。いくつかの実施形態では、通信ユニット708は、単一のネットワークレイヤアドレスと複数のリンクレイヤアドレスとの間の1対多の関連付けを管理するためのハイブリッドARP機能を実行することができる。ハイブリッドARPユニット712は、ハイブリッドARPキャッシュ714においてアドレス関連付け情報をポピュレートし、維持するために、およびこのアドレス関連付け情報を使用して、送信されるようにスケジュールされたフレームにおいて適切な宛先リンクレイヤアドレスをポピュレートするために、(図2および図4において説明した)単一ステージ手法または(図5において説明した)2ステージ手法を採用することができる。ハイブリッドARPユニット712(およびハイブリッドARPキャッシュ714)は、図3および図6を参照しながら上記で説明したように、(上位プロトコルレイヤによって実装される)従来のARP機能と連携して動作することができる。
[00122] これらの機能のうちの任意の1つは、ハードウェアでおよび/またはプロセッサユニット702上に部分的に(または完全に)実装され得る。たとえば、機能は、特定用途向け集積回路を用いて実装され、プロセッサユニット702、周辺デバイスまたはカード上のコプロセッサなどの中に論理で実装され得る。さらに、実現形態は、より少ない構成要素、または図7に示されていない追加の構成要素(たとえば、ビデオカード、オーディオカード、追加のネットワークインターフェース、周辺デバイスなど)を含み得る。プロセッサユニット702、メモリユニット706、およびネットワークインターフェース704は、バス710に結合される。バス710に結合されるものとして示されているが、メモリユニット706はプロセッサユニット702に結合され得る。
[00123] 本実施形態について、様々な実装形態および活用を参照しながら説明したが、これらの実施形態は例示的なものであり、本発明の主題の範囲はそれらに限定されないことを理解されよう。概して、本明細書で説明したハイブリッド通信ネットワークにおけるアドレス解決のための技法は、任意の1つまたは複数のハードウェアシステムに一致する設備で実装され得る。多くの変形、修正、追加、および改善が可能である。
[00124] 単一の事例として本明細書で説明した構成要素、動作、または構造について、複数の事例が与えられ得る。最後に、様々な構成要素と、動作と、データストアとの間の境界はいくぶん恣意的であり、特定の動作が、特定の例示的な構成のコンテキストで示されている。機能の他の割振りが想定され、本発明の主題の範囲内に入り得る。概して、例示的な構成において別個の構成要素として提示された構造および機能は、組み合わされた構造または構成要素として実装され得る。同様に、単一の構成要素として提示された構造および機能は、別個の構成要素として実装され得る。これらおよび他の変形、修正、追加、および改善は、本発明の主題の範囲内に入り得る。
以下に本願出願当初の特許請求の範囲を付記する。
[C1] メッセージが通信ネットワークの第1のハイブリッドデバイスから第2のハイブリッドデバイスに送信されるようにスケジュールされると判断することと、ここにおいて、前記第1のハイブリッドデバイスと前記第2のハイブリッドデバイスとがそれぞれ複数のネットワークインターフェースに関連付けられた、
前記第2のハイブリッドデバイスに関連付けられた1つまたは複数のアドレス解決ストアエントリに少なくとも部分的に基づいて、前記メッセージのための送信ルートと、前記第2のハイブリッドデバイスに関連付けられた対応する第1のネットワークインターフェースとを判断することと、
前記第2のハイブリッドデバイスに関連付けられた前記第1のネットワークインターフェースに対応する第1のリンクレイヤアドレスを判断することと、ここにおいて、前記第2のハイブリッドデバイスは、前記複数のネットワークインターフェースのうちの対応するネットワークインターフェースに各々が関連付けられた、複数のリンクレイヤアドレスに関連付けられた、
前記第1のリンクレイヤアドレスを含む、前記メッセージを生成することと、
前記送信ルートを介して前記メッセージを送信することとを備える方法。
[C2] 前記送信ルートを前記判断することが、
前記第1のハイブリッドデバイスの前記複数のネットワークインターフェースのうちの1つまたは複数を介して前記メッセージを前記第2のハイブリッドデバイスに送信すべきかどうかを判断すること
を備え、
前記第1のリンクレイヤアドレスを前記判断することが、
前記メッセージをそれから前記第2のハイブリッドデバイスに送信すべき、前記第1のハイブリッドデバイスの前記複数のネットワークインターフェースのうちの対応する1つまたは複数に関連付けられた1つまたは複数のリンクレイヤアドレスを判断すること
を備える、C1に記載の方法。
[C3] 前記送信ルートを前記判断することが、少なくとも前記メッセージに関連付けられたトラフィックのクラスを含む前記第2のハイブリッドデバイスに関連付けられた前記1つまたは複数のアドレス解決ストアエントリに少なくとも部分的に基づく、C1に記載の方法。
[C4] 前記第1のハイブリッドデバイスのハイブリッドネットワークレイヤに関連付けられたキャッシュが前記1つまたは複数のアドレス解決ストアエントリを備え、ここにおいて、前記キャッシュが、前記第2のハイブリッドデバイスに関連付けられた前記複数のネットワークインターフェースと、前記第2のハイブリッドデバイスに関連付けられたネットワークアドレスと、前記第2のハイブリッドデバイスに関連付けられたルート情報とのうちの少なくとも1つに対応する前記複数のリンクレイヤアドレスのうちの少なくとも1つを備える、C1に記載の方法。
[C5] 前記第2のハイブリッドデバイスに関連付けられた前記ルート情報が、
前記第2のハイブリッドデバイスに関連付けられた前記複数のネットワークインターフェースのうちの1つまたは複数について、
前記第1のハイブリッドデバイスと前記第2のハイブリッドデバイスの前記ネットワークインターフェースとの間の通信を送信するための前に選択された送信ルートと、
前記第1のハイブリッドデバイスと前記第2のハイブリッドデバイスの前記ネットワークインターフェースとの間の1つまたは複数の送信ルートに関連付けられたルートメトリック情報とを備える、C4に記載の方法。
[C6] 前記第2のハイブリッドデバイスから前記第1のハイブリッドデバイスにおいて第2のメッセージを受信することと、ここにおいて、前記第2のメッセージが、前記第2のハイブリッドデバイスに関連付けられた前記複数のネットワークインターフェースのうちの少なくとも1つを示す、
前記第2のハイブリッドデバイスに関連付けられた前記複数のネットワークインターフェースのうちの前記少なくとも1つを反映するために、前記第2のハイブリッドデバイスに関連付けられた前記1つまたは複数のアドレス解決ストアエントリを更新することとをさらに備える、C1に記載の方法。
[C7] 前記第2のハイブリッドデバイスから受信される前記第2のメッセージは、
アドレス解決プロトコル(ARP)応答メッセージ、ここにおいて、前記第2のハイブリッドデバイスが前記第1のハイブリッドデバイスからのARP要求メッセージに応答して前記第2のメッセージを送信した、
前記第2のハイブリッドデバイスに関連付けられた、前記複数のネットワークインターフェースと、前記対応する複数のリンクレイヤアドレスとを示すトポロジーメッセージ、または、ARP告知メッセージのうちの1つである、C6に記載の方法。
[C8] 前記第2のハイブリッドデバイスに関連付けられた前記第1のネットワークインターフェースに対応する前記第1のリンクレイヤアドレスが、前記第2のハイブリッドデバイスのハイブリッドネットワークレイヤに関連付けられた識別子である、C1に記載の方法。
[C9] 前記メッセージが前記通信ネットワークの前記第1のハイブリッドデバイスから前記第2のハイブリッドデバイスに送信されるようにスケジュールされると前記判断することは、
前記第1のハイブリッドデバイスが、前記第2のハイブリッドデバイスに関連付けられた前記1つまたは複数のアドレス解決ストアエントリを備えるかどうかを判断することと、
前記第1のハイブリッドデバイスが、前記第2のハイブリッドデバイスに関連付けられた前記1つまたは複数のアドレス解決ストアエントリを備えると判断したことに応答して、
前記第2のハイブリッドデバイスに関連付けられた前記1つまたは複数のアドレス解決ストアエントリに少なくとも部分的に基づいて、前記メッセージのための前記送信ルートと、前記第2のハイブリッドデバイスに関連付けられた前記対応する第1のネットワークインターフェースとを前記判断することと、
前記第1のハイブリッドデバイスが、前記第2のハイブリッドデバイスに関連付けられた前記1つまたは複数のアドレス解決ストアエントリを備えないと判断したことに応答して、
前記第1のハイブリッドデバイスから前記第2のハイブリッドデバイスに、前記第2のハイブリッドデバイスに関連付けられた前記複数のリンクレイヤアドレスのうちの少なくとも1つについての要求を送信することと、
前記第2のハイブリッドデバイスに関連付けられた前記複数のリンクレイヤアドレスのうちの少なくとも1つについての前記要求を前記送信したことに応答して、前記第2のハイブリッドデバイスから受信された1つまたは複数の応答に少なくとも部分的に基づいて、前記第2のハイブリッドデバイスに関連付けられた前記1つまたは複数のアドレス解決ストアエントリを作成することとを備える、C1に記載の方法。
[C10] 前記メッセージのための前記送信ルートと、前記第2のハイブリッドデバイスに関連付けられた前記対応する第1のネットワークインターフェースとを前記判断することと、前記第2のハイブリッドデバイスに関連付けられた前記第1のネットワークインターフェースに対応する前記第1のリンクレイヤアドレスを前記判断することとは、
前記第1のハイブリッドデバイスの第1の処理ステージにおいて、前記第1の処理ステージに関連付けられた第1のデータベースに少なくとも部分的に基づいて、前記第2のハイブリッドデバイスの前記第1のリンクレイヤアドレスを含む前記メッセージを生成することと、
前記第1のハイブリッドデバイスの第2の処理ステージにおいて、前記第2の処理ステージに関連付けられた第2のデータベースと、前記第1の処理ステージによって判断された前記第1のリンクレイヤアドレスとに少なくとも部分的に基づいて、前記メッセージを前記第2のハイブリッドデバイスに送信するための前記送信ルートと、対応する宛先リンクレイヤアドレスとを判断することと、
前記第1のハイブリッドデバイスの前記第2の処理ステージにおいて、前記第1の処理ステージによって判断された前記第1のリンクレイヤアドレスが、前記第2の処理ステージによって判断された前記宛先リンクレイヤアドレスとは異なるかどうかを判断することと、
前記第1のハイブリッドデバイスの前記第2の処理ステージにおいて、前記第1の処理ステージによって判断された前記第1のリンクレイヤアドレスが、前記第2の処理ステージによって判断された前記宛先リンクレイヤアドレスとは異なると判断したことに応答して、前記メッセージ中の前記第1のリンクレイヤアドレスを前記宛先リンクレイヤアドレスと交換することと、
前記第1のハイブリッドデバイスの前記第2の処理ステージにおいて、前記第1の処理ステージによって判断された前記第1のリンクレイヤアドレスが、前記第2の処理ステージによって判断された前記宛先リンクレイヤアドレスと同じであると判断したことに応答して、または前記メッセージ中の前記第1のリンクレイヤアドレスを前記宛先リンクレイヤアドレスと前記交換したことに応答して、前記メッセージを前記第2のハイブリッドデバイスに送信することとを備える、C1に記載の方法。
[C11] 前記第1の処理ステージに関連付けられた前記第1のデータベースが、前記第2のハイブリッドデバイスのネットワークアドレスと、前記第2のハイブリッドデバイスに関連付けられた前記第1のリンクレイヤアドレスとを備え、
前記第2の処理ステージに関連付けられた前記第2のデータベースは、複数のアドレス解決ストアエントリの各々が、前記第2のハイブリッドデバイスの前記ネットワークアドレスと、前記第2のハイブリッドデバイスに関連付けられた前記複数のリンクレイヤアドレスのうちの1つとを備えるように、前記複数のアドレス解決ストアエントリを備え、
前記第1のデータベース中の前記第1のリンクレイヤアドレスが、前記第2のデータベースの前記複数のアドレス解決ストアエントリへのポインタである、C10に記載の方法。
[C12] 前記第1のデータベース中の前記第1のリンクレイヤアドレスが、前記第1のハイブリッドデバイスと前記第2のハイブリッドデバイスとの間の好ましい送信ルートに関連付けられたリンクレイヤアドレスであるか、または前記第2のハイブリッドデバイスのハイブリッドネットワークレイヤに関連付けられた識別子である、C11に記載の方法。
[C13] 前記第2のハイブリッドデバイスに関連付けられた前記複数のリンクレイヤアドレスのうちの1つまたは複数について、前記第2のデータベースが、
前記第1のハイブリッドデバイスと前記第2のハイブリッドデバイスに関連付けられた前記リンクレイヤアドレスとの間の通信を送信するための前に選択された送信ルートと、
前記第1のハイブリッドデバイスと前記第2のハイブリッドデバイスに関連付けられた前記ネットワークインターフェースとの間の1つまたは複数の送信ルートに関連付けられたルートメトリック情報とを備える、C11に記載の方法。
[C14] 前記第1のハイブリッドデバイスのハイブリッドネットワークレイヤが前記第1の処理ステージと前記第2の処理ステージとを備える、C10に記載の方法。
[C15] 前記宛先リンクレイヤアドレスは、
前記第2のハイブリッドデバイスがそれにおいて前記メッセージを受信するようにスケジュールされる、前記第2のハイブリッドデバイスの前記複数のネットワークインターフェースのうちの受信ネットワークインターフェースに関連付けられた前記複数のリンクレイヤアドレスのうちの第2のリンクレイヤアドレス、または
前記受信ネットワークインターフェースに関連付けられた前記複数のリンクレイヤアドレスのうちの前記第2のリンクレイヤアドレスとは異なる前記複数のリンクレイヤアドレスのうちの第3のリンクレイヤアドレス、または
前記第2のハイブリッドデバイスのハイブリッドネットワークレイヤに関連付けられた識別子のうちの1つである、C10に記載の方法。
[C16] 所定の時間間隔中に前記第2のハイブリッドデバイスから通信が受信されなかったと判断すること、
所定のエージング時間間隔中に前記第2のハイブリッドデバイスに少なくとも1つのメッセージを送信するために前記第2のハイブリッドデバイスに関連付けられた前記1つまたは複数のアドレス解決ストアエントリのうちの第1のアドレス解決ストアエントリが使用されなかったと判断すること、あるいは
前記第2のハイブリッドデバイスに関連付けられた前記1つまたは複数のアドレス解決ストアエントリのうちの前記第1のアドレス解決ストアエントリに割り当てられたタイムスタンプが満了したと判断することのうちの1つに応答して、前記第2のハイブリッドデバイスに関連付けられた前記1つまたは複数のアドレス解決ストアエントリのうちの少なくとも前記第1のアドレス解決ストアエントリを削除することをさらに備える、C1に記載の方法。
[C17] 前記第2のハイブリッドデバイスに関連付けられた前記第1のリンクレイヤアドレスが有効でないことを示す関連付けキャンセルメッセージを前記第2のハイブリッドデバイスから受信することと、
前記第2のハイブリッドデバイスに関連付けられた前記第1のリンクレイヤアドレスが有効でないことを示す前記関連付けキャンセルメッセージを前記第2のハイブリッドデバイスから前記受信したことに応答して、前記第2のハイブリッドデバイスに関連付けられた前記1つまたは複数のアドレス解決ストアエントリを更新することとをさらに備える、C1に記載の方法。
[C18] 通信ネットワークの第1のハイブリッドデバイスのハイブリッドネットワークレイヤにおいて、前記第1のハイブリッドデバイスの上位プロトコルレイヤからの要求メッセージを検出することと、ここにおいて、前記要求メッセージが、前記通信ネットワークの第2のハイブリッドデバイスに関連付けられたリンクレイヤアドレスについての要求を備える、
前記第1のハイブリッドデバイスの前記ハイブリッドネットワークレイヤにおいて、前記第1のハイブリッドデバイスの前記ハイブリッドネットワークレイヤが、前記第2のハイブリッドデバイスに関連付けられた前記リンクレイヤアドレスを備えるかどうかを判断することと、
前記第1のハイブリッドデバイスの前記ハイブリッドネットワークレイヤが、前記第2のハイブリッドデバイスに関連付けられた前記リンクレイヤアドレスを備えると判断したことに応答して、
前記第1のハイブリッドデバイスの前記ハイブリッドネットワークレイヤに関連付けられた第1のデータベースから、前記第2のハイブリッドデバイスに関連付けられた識別子アドレスを判断することと、
前記第1のハイブリッドデバイスの前記上位プロトコルレイヤに、少なくとも前記第2のハイブリッドデバイスに関連付けられた前記識別子アドレスを備える第1の応答メッセージを与えることと、
前記要求メッセージを前記第2のハイブリッドデバイスに送信することなしに、前記ハイブリッドネットワークレイヤにおいて前記要求メッセージを廃棄することと、
前記第1のハイブリッドデバイスの前記ハイブリッドネットワークレイヤが、前記第2のハイブリッドデバイスに関連付けられた前記リンクレイヤアドレスを備えないと判断したことに応答して、
前記要求メッセージを前記第2のハイブリッドデバイスに送信することと、
前記要求メッセージを前記第2のハイブリッドデバイスに前記送信したことに応答して、前記第1のハイブリッドデバイスの前記ハイブリッドネットワークレイヤにおいて、前記第2のハイブリッドデバイスから1つまたは複数の応答メッセージを受信することと、
前記第2のハイブリッドデバイスから受信された前記1つまたは複数の応答メッセージに基づいて前記第1のデータベース中の前記第2のハイブリッドデバイスに関連付けられた1つまたは複数のアドレス解決ストアエントリを更新することと、
前記第1のハイブリッドデバイスの前記上位プロトコルレイヤのための前記第1の応答メッセージを生成することと、ここにおいて、前記第1の応答メッセージが、少なくとも前記第2のハイブリッドデバイスに関連付けられた前記識別子アドレスを備える、を備える方法。
[C19] 前記第1のハイブリッドデバイスの前記ハイブリッドネットワークレイヤが、前記第2のハイブリッドデバイスに関連付けられた前記リンクレイヤアドレスを備えないと判断したことに応答して、前記要求メッセージを前記第2のハイブリッドデバイスに前記送信することが、
前記上位プロトコルレイヤから受信された前記要求メッセージを変更し、前記変更された要求メッセージを前記第2のハイブリッドデバイスに送信すること、または
前記上位プロトコルレイヤから受信された前記要求メッセージを廃棄し、前記第2のハイブリッドデバイスに新しい要求メッセージを送信することのうちの1つを備える、C18に記載の方法。
[C20] 前記第2のハイブリッドデバイスに関連付けられた前記識別子アドレスが、
前記第1のハイブリッドデバイスと前記第2のハイブリッドデバイスとの間の好ましい送信ルートに関連付けられたリンクレイヤアドレス、
前記第2のハイブリッドデバイスの前記ハイブリッドネットワークレイヤに関連付けられた識別子、または
前記第2のハイブリッドデバイスの複数のリンクレイヤアドレスのうちの1つに関連づけられたリンクレイヤアドレスのうちの1つを備える、C18に記載の方法。
[C21] 前記第1のハイブリッドデバイスの前記ハイブリッドネットワークレイヤが、前記第2のハイブリッドデバイスに関連付けられた前記リンクレイヤアドレスを備えないと判断したことに応答して、
前記要求メッセージを前記第2のハイブリッドデバイスに前記送信することが、
前記第2のハイブリッドデバイスに関連付けられたネットワークレイヤアドレスと、前記第2のハイブリッドデバイスに関連付けられたヌルリンクレイヤアドレスとを含むアドレス解決ストアエントリを前記第1のデータベース中に生成すること
をさらに備え、
前記第2のハイブリッドデバイスから受信された前記1つまたは複数の応答メッセージに基づいて前記第1のデータベース中の前記第2のハイブリッドデバイスに関連付けられた前記1つまたは複数のアドレス解決ストアエントリを前記更新することが、
前記第2のハイブリッドデバイスから受信された前記1つまたは複数の応答メッセージから、前記第2のハイブリッドデバイスに関連付けられた前記リンクレイヤアドレスを判断することと、
前記ヌルリンクレイヤアドレスを前記第2のハイブリッドデバイスに関連付けられた前記リンクレイヤアドレスと交換することと
を備える、C18に記載の方法。
[C22] 前記第1のハイブリッドデバイスの前記上位プロトコルレイヤから、前記第2のハイブリッドデバイスへの送信のためにスケジュールされたメッセージを受信することと、ここにおいて、前記メッセージが、前記第2のハイブリッドデバイスに関連付けられた前記識別子アドレスを備える、
前記第1のデータベース中の前記第2のハイブリッドデバイスに関連付けられた前記1つまたは複数のアドレス解決ストアエントリに少なくとも部分的に基づいて、および前記上位プロトコルレイヤから前記メッセージ中で受信された前記識別子アドレスに基づいて、前記第1のハイブリッドデバイスの前記ハイブリッドネットワークレイヤにおいて、前記メッセージを前記第2のハイブリッドデバイスに送信するための送信ルートと、対応する宛先リンクレイヤアドレスとを判断することと、
前記上位プロトコルレイヤによって判断された前記識別子アドレスが、前記ハイブリッドネットワークレイヤによって判断された前記宛先リンクレイヤアドレスとは異なるかどうかを判断することと、
前記上位プロトコルレイヤによって判断された前記識別子アドレスが、前記ハイブリッドネットワークレイヤによって判断された前記宛先リンクレイヤアドレスとは異なると判断したことに応答して、前記識別子アドレスを前記宛先リンクレイヤアドレスと交換することと、
前記上位プロトコルレイヤによって判断された前記識別子アドレスが、前記ハイブリッドネットワークレイヤによって判断された前記宛先リンクレイヤアドレスに一致すると判断したことに応答して、または前記識別子アドレスを前記宛先リンクレイヤアドレスと前記交換したことに応答して、前記メッセージを前記第2のハイブリッドデバイスに送信することとをさらに備える、C18に記載の方法。
[C23] プロセッサユニットと、
前記プロセッサユニットと結合されたハイブリッドアドレス解決プロトコル(ARP)ユニットとを備えるハイブリッドネットワークデバイスであって、前記ハイブリッドARPユニットは、
メッセージが通信ネットワークの前記ハイブリッドネットワークデバイスから第2のハイブリッドネットワークデバイスに送信されるようにスケジュールされると判断することと、ここにおいて、前記ハイブリッドネットワークデバイスと前記第2のハイブリッドネットワークデバイスとがそれぞれ複数のネットワークインターフェースに関連付けられた、
前記第2のハイブリッドネットワークデバイスに関連付けられた1つまたは複数のアドレス解決ストアエントリに少なくとも部分的に基づいて、前記メッセージのための送信ルートと、前記第2のハイブリッドネットワークデバイスに関連付けられた対応する第1のネットワークインターフェースとを判断することと、
前記第2のハイブリッドネットワークデバイスに関連付けられた前記第1のネットワークインターフェースに対応する第1のリンクレイヤアドレスを判断することと、ここにおいて、前記第2のハイブリッドネットワークデバイスは、前記複数のネットワークインターフェースのうちの対応するネットワークインターフェースに各々が関連付けられた、複数のリンクレイヤアドレスに関連付けられた、
前記第1のリンクレイヤアドレスを含む前記メッセージを生成することと、
前記送信ルートを介して前記メッセージを送信することとを行うように動作可能である、ハイブリッドネットワークデバイス。
[C24] 前記ハイブリッドネットワークデバイスのハイブリッドネットワークレイヤに関連付けられたキャッシュが前記1つまたは複数のアドレス解決ストアエントリを備え、
前記キャッシュが、前記第2のハイブリッドネットワークデバイスに関連付けられた前記複数のネットワークインターフェースのうちの少なくとも1つに対応する前記複数のリンクレイヤアドレスと、前記第2のハイブリッドネットワークデバイスに関連付けられたネットワークアドレスと、前記第2のハイブリッドネットワークデバイスに関連付けられたルート情報とのうちの少なくとも1つを備え、
前記第2のハイブリッドネットワークデバイスに関連付けられた前記複数のネットワークインターフェースのうちの1つまたは複数について、前記第2のハイブリッドネットワークデバイスに関連付けられた前記ルート情報が、
前記ハイブリッドネットワークデバイスと前記第2のハイブリッドネットワークデバイスの前記ネットワークインターフェースとの間の通信を送信するための前に選択された送信ルートと、
前記ハイブリッドネットワークデバイスと前記第2のハイブリッドネットワークデバイスの前記ネットワークインターフェースとの間の1つまたは複数の送信ルートに関連付けられたルートメトリック情報と
を備える、C23に記載のハイブリッドネットワークデバイス。
[C25] 前記ハイブリッドARPユニットは、
前記第2のハイブリッドネットワークデバイスから第2のメッセージを受信することと、ここにおいて、前記第2のメッセージが、前記第2のハイブリッドネットワークデバイスに関連付けられた前記複数のネットワークインターフェースのうちの少なくとも1つを示す、
前記第2のハイブリッドネットワークデバイスに関連付けられた前記複数のネットワークインターフェースのうちの前記少なくとも1つを反映するために、前記第2のハイブリッドネットワークデバイスに関連付けられた前記1つまたは複数のアドレス解決ストアエントリを更新することとを行うようにさらに動作可能である、C23に記載のハイブリッドネットワークデバイス。
[C26] 前記第2のハイブリッドネットワークデバイスに関連付けられた前記第1のネットワークインターフェースに対応する前記第1のリンクレイヤアドレスが、前記第2のハイブリッドネットワークデバイスのハイブリッドネットワークレイヤに関連付けられた識別子である、C23に記載のハイブリッドネットワークデバイス。
[C27] 前記メッセージのための前記送信ルートと、前記第2のハイブリッドネットワークデバイスに関連付けられた前記対応する第1のネットワークインターフェースとを判断するように動作可能な前記ハイブリッドARPユニットと、前記第2のハイブリッドネットワークデバイスに関連付けられた前記第1のネットワークインターフェースに対応する前記第1のリンクレイヤアドレスを判断するように動作可能な前記ハイブリッドARPユニットとは、
第1の処理ステージに関連付けられた第1のデータベースに少なくとも部分的に基づいて、前記第2のハイブリッドネットワークデバイスの前記第1のリンクレイヤアドレスを含む前記メッセージを生成する
ように動作可能な前記ハイブリッドARPユニットの第1の処理ステージと、
第2の処理ステージに関連付けられた第2のデータベースと、前記第1の処理ステージによって判断された前記第1のリンクレイヤアドレスとに少なくとも部分的に基づいて、前記メッセージを前記第2のハイブリッドネットワークデバイスに送信するための前記送信ルートと、対応する宛先リンクレイヤアドレスとを判断することと、
前記第1の処理ステージによって判断された前記第1のリンクレイヤアドレスが、前記第2の処理ステージによって判断された前記宛先リンクレイヤアドレスとは異なるかどうかを判断することと、
前記ハイブリッドARPユニットの前記第2の処理ステージが、前記ハイブリッドARPユニットの前記第1の処理ステージによって判断された前記第1のリンクレイヤアドレスが、前記ハイブリッドARPユニットの前記第2の処理ステージによって判断された前記宛先リンクレイヤアドレスとは異なると判断したことに応答して、前記メッセージ中の前記第1のリンクレイヤアドレスを前記宛先リンクレイヤアドレスと交換することと、
前記ハイブリッドARPユニットの前記第2の処理ステージが、前記ハイブリッドARPユニットの前記第1の処理ステージによって判断された前記第1のリンクレイヤアドレスが、前記ハイブリッドARPユニットの前記第2の処理ステージによって判断された前記宛先リンクレイヤアドレスと同じであると判断したことに応答して、または前記メッセージ中の前記第1のリンクレイヤアドレスを前記宛先リンクレイヤアドレスと交換したことに応答して、前記メッセージを前記第2のハイブリッドネットワークデバイスに送信することと
を行うように動作可能な前記ハイブリッドARPユニットの第2の処理ステージとを備える、C23に記載のハイブリッドネットワークデバイス。
[C28] 前記ハイブリッドARPユニットの前記第1の処理ステージに関連付けられた前記第1のデータベースが、前記第2のハイブリッドネットワークデバイスのネットワークアドレスと、前記第2のハイブリッドネットワークデバイスに関連付けられた前記第1のリンクレイヤアドレスとを備え、
前記ハイブリッドARPユニットの前記第2の処理ステージに関連付けられた前記第2のデータベースは、複数のアドレス解決ストアエントリの各々が、前記第2のハイブリッドネットワークデバイスの前記ネットワークアドレスと、前記第2のハイブリッドネットワークデバイスに関連付けられた前記複数のリンクレイヤアドレスのうちの1つとを備えるように、前記複数のアドレス解決ストアエントリを備え、
前記第1のデータベース中の前記複数のリンクレイヤアドレスのうちの前記第1のリンクレイヤアドレスが、前記第2のデータベースの前記複数のアドレス解決ストアエントリへのポインタである、C27に記載のハイブリッドネットワークデバイス。
[C29] 前記第1のデータベース中の前記第1のリンクレイヤアドレスが、前記ハイブリッドネットワークデバイスと前記第2のハイブリッドネットワークデバイスとの間の好ましい送信ルートに関連付けられたリンクレイヤアドレスであるか、または前記第2のハイブリッドネットワークデバイスのハイブリッドネットワークレイヤに関連付けられた識別子である、C28に記載のハイブリッドネットワークデバイス。
[C30] 前記第2のハイブリッドネットワークデバイスに関連付けられた前記複数のリンクレイヤアドレスのうちの1つまたは複数について、前記第2のデータベースが、
前記ハイブリッドネットワークデバイスと前記第2のハイブリッドネットワークデバイスに関連付けられた前記リンクレイヤアドレスとの間の通信を送信するための前に選択された送信ルートと、
前記ハイブリッドネットワークデバイスと前記第2のハイブリッドネットワークデバイスに関連付けられた前記ネットワークインターフェースとの間の1つまたは複数の送信ルートに関連付けられたルートメトリック情報とを備える、C28に記載のハイブリッドネットワークデバイス。
[C31] 前記ハイブリッドARPユニットは、
前記第2のハイブリッドネットワークデバイスに関連付けられた前記第1のリンクレイヤアドレスが有効でないことを示す関連付けキャンセルメッセージを前記第2のハイブリッドネットワークデバイスから受信することと、
前記ハイブリッドARPユニットが、前記第2のハイブリッドネットワークデバイスに関連付けられた前記第1のリンクレイヤアドレスが有効でないことを示す前記関連付けキャンセルメッセージを前記第2のハイブリッドネットワークデバイスから受信したことに応答して、前記第2のハイブリッドネットワークデバイスに関連付けられた前記1つまたは複数のアドレス解決ストアエントリを更新することとを行うようにさらに動作可能である、C23に記載のハイブリッドネットワークデバイス。
[C32] プロセッサユニットと、
ハイブリッドネットワークデバイスのハイブリッドネットワークレイヤのハイブリッドアドレス解決プロトコル(ARP)ユニットと、ここにおいて、前記ハイブリッドARPユニットが前記プロセッサユニットと結合された、を備えるハイブリッドネットワークデバイスであって、前記ハイブリッドARPユニットは、
前記ハイブリッドネットワークデバイスの上位プロトコルレイヤからの要求メッセージを検出することと、ここにおいて、前記要求メッセージが、通信ネットワークの第2のハイブリッドネットワークデバイスに関連付けられたリンクレイヤアドレスについての要求を備える、
前記ハイブリッドネットワークデバイスの前記ハイブリッドネットワークレイヤが、前記第2のハイブリッドネットワークデバイスに関連付けられた前記リンクレイヤアドレスを備えるかどうかを判断することと、
前記ハイブリッドARPユニットが、前記ハイブリッドネットワークデバイスの前記ハイブリッドネットワークレイヤが、前記第2のハイブリッドネットワークデバイスに関連付けられた前記リンクレイヤアドレスを備えると判断したことに応答して、
前記ハイブリッドネットワークデバイスの前記ハイブリッドネットワークレイヤに関連付けられた第1のデータベースから、前記第2のハイブリッドネットワークデバイスに関連付けられた識別子アドレスを判断することと、
前記ハイブリッドネットワークデバイスの前記上位プロトコルレイヤに、少なくとも前記第2のハイブリッドネットワークデバイスに関連付けられた前記識別子アドレスを備える第1の応答メッセージを与えることと、
前記要求メッセージを前記第2のハイブリッドネットワークデバイスに送信することなしに、前記ハイブリッドネットワークレイヤにおいて前記要求メッセージを廃棄することと、
前記ハイブリッドARPユニットが、前記ハイブリッドネットワークデバイスの前記ハイブリッドネットワークレイヤが、前記第2のハイブリッドネットワークデバイスに関連付けられた前記リンクレイヤアドレスを備えないと判断したことに応答して、
前記要求メッセージを前記第2のハイブリッドネットワークデバイスに送信することと、
前記ハイブリッドARPユニットが前記要求メッセージを前記第2のハイブリッドネットワークデバイスに送信したことに応答して、前記第2のハイブリッドネットワークデバイスから1つまたは複数の応答メッセージを受信することと、
前記第2のハイブリッドネットワークデバイスから受信された前記1つまたは複数の応答メッセージに基づいて前記第1のデータベース中の前記第2のハイブリッドネットワークデバイスに関連付けられた1つまたは複数のアドレス解決ストアエントリを更新することと、
前記ハイブリッドネットワークデバイスの前記上位プロトコルレイヤのための前記第1の応答メッセージを生成することと、ここにおいて、前記第1の応答メッセージが、少なくとも前記第2のハイブリッドネットワークデバイスに関連付けられた前記識別子アドレスを備える、を行うように動作可能である、ハイブリッドネットワークデバイス。
[C33] 前記ハイブリッドARPユニットが、前記ハイブリッドネットワークデバイスの前記ハイブリッドネットワークレイヤが、前記第2のハイブリッドネットワークデバイスに関連付けられた前記リンクレイヤアドレスを備えないと判断したことに応答して、
前記要求メッセージを前記第2のハイブリッドネットワークデバイスに送信するように動作可能な前記ハイブリッドARPユニットが、
前記第2のハイブリッドネットワークデバイスに関連付けられたネットワークレイヤアドレスと、前記第2のハイブリッドネットワークデバイスに関連付けられたヌルリンクレイヤアドレスとを含むアドレス解決ストアエントリを前記第1のデータベース中に生成する
ように動作可能な前記ハイブリッドARPユニットをさらに備え、
前記第2のハイブリッドネットワークデバイスから受信された前記1つまたは複数の応答メッセージに基づいて前記第1のデータベース中の前記第2のハイブリッドネットワークデバイスに関連付けられた前記1つまたは複数のアドレス解決ストアエントリを更新するように動作可能な前記ハイブリッドARPユニットが、
前記第2のハイブリッドネットワークデバイスから受信された前記1つまたは複数の応答メッセージから、前記第2のハイブリッドネットワークデバイスに関連付けられた前記リンクレイヤアドレスを判断することと、
前記ヌルリンクレイヤアドレスを前記第2のハイブリッドネットワークデバイスに関連付けられた前記リンクレイヤアドレスと交換することと
を行うように動作可能な前記ハイブリッドARPユニットを備える、C32に記載のハイブリッドネットワークデバイス。
[C34] 前記ハイブリッドARPユニットは、
前記ハイブリッドネットワークデバイスの前記上位プロトコルレイヤから、前記第2のハイブリッドネットワークデバイスへの送信のためにスケジュールされたメッセージを受信することと、ここにおいて、前記メッセージが、前記第2のハイブリッドネットワークデバイスに関連付けられた前記識別子アドレスを備える、
前記第1のデータベース中の前記第2のハイブリッドネットワークデバイスに関連付けられた前記1つまたは複数のアドレス解決ストアエントリに少なくとも部分的に基づいて、および前記上位プロトコルレイヤから前記メッセージ中で受信された前記識別子アドレスに基づいて、前記第2のハイブリッドネットワークデバイスに前記メッセージを送信するための送信ルートと、対応する宛先リンクレイヤアドレスとを判断することと、
前記上位プロトコルレイヤによって判断された前記識別子アドレスが、前記ハイブリッドARPユニットによって判断された前記宛先リンクレイヤアドレスとは異なるかどうかを判断することと、
前記ハイブリッドARPユニットが、前記上位プロトコルレイヤによって判断された前記識別子アドレスが、前記ハイブリッドARPユニットによって判断された前記宛先リンクレイヤアドレスとは異なると判断したことに応答して、前記識別子アドレスを前記宛先リンクレイヤアドレスと交換することと、
前記ハイブリッドARPユニットが、前記上位プロトコルレイヤによって判断された前記識別子アドレスが、前記ハイブリッドARPユニットによって判断された前記宛先リンクレイヤアドレスに一致すると判断したことに応答して、または前記ハイブリッドARPユニットが前記識別子アドレスを前記宛先リンクレイヤアドレスと交換したことに応答して、前記第2のハイブリッドネットワークデバイスに前記メッセージを送信することとを行うようにさらに動作可能である、C32に記載のハイブリッドネットワークデバイス。
[C35] 1つまたは複数のプロセッサによって実行されたとき、
メッセージが通信ネットワークの第1のハイブリッドデバイスから第2のハイブリッドデバイスに送信されるようにスケジュールされると判断することと、ここにおいて、前記第1のハイブリッドデバイスと前記第2のハイブリッドデバイスとがそれぞれ複数のネットワークインターフェースに関連付けられた、
前記第2のハイブリッドデバイスに関連付けられた1つまたは複数のアドレス解決ストアエントリに少なくとも部分的に基づいて、前記メッセージのための送信ルートと、前記第2のハイブリッドデバイスに関連付けられた対応する第1のネットワークインターフェースとを判断することと、
前記第2のハイブリッドデバイスに関連付けられた前記第1のネットワークインターフェースに対応する第1のリンクレイヤアドレスを判断することと、ここにおいて、前記第2のハイブリッドデバイスは、前記複数のネットワークインターフェースのうちの対応するネットワークインターフェースに各々が関連付けられた、複数のリンクレイヤアドレスに関連付けられた、
前記第1のリンクレイヤアドレスを含む前記メッセージを生成することと、
前記送信ルートを介して前記メッセージを送信することとを備える動作を前記1つまたは複数のプロセッサに実行させる命令を記憶した1つまたは複数の機械可読記憶媒体。
[C36] 前記メッセージのための前記送信ルートと、前記第2のハイブリッドデバイスに関連付けられた前記対応する第1のネットワークインターフェースとを判断する前記動作と、前記第2のハイブリッドデバイスに関連付けられた前記第1のネットワークインターフェースに対応する前記第1のリンクレイヤアドレスを判断する前記動作とは、
前記第1のハイブリッドデバイスの第1の処理ステージにおいて、前記第1の処理ステージに関連付けられた第1のデータベースに少なくとも部分的に基づいて、前記第2のハイブリッドデバイスの前記第1のリンクレイヤアドレスを含む前記メッセージを生成することと、
前記第1のハイブリッドデバイスの第2の処理ステージにおいて、前記第2の処理ステージに関連付けられた第2のデータベースと、前記第1の処理ステージによって判断された前記第1のリンクレイヤアドレスとに少なくとも部分的に基づいて、前記メッセージを前記第2のハイブリッドデバイスに送信するための前記送信ルートと、対応する宛先リンクレイヤアドレスとを判断することと、
前記第1のハイブリッドデバイスの前記第2の処理ステージにおいて、前記第1の処理ステージによって判断された前記第1のリンクレイヤアドレスが、前記第2の処理ステージによって判断された前記宛先リンクレイヤアドレスとは異なるかどうかを判断することと、
前記第1のハイブリッドデバイスの前記第2の処理ステージにおいて、前記第1の処理ステージによって判断された前記第1のリンクレイヤアドレスが、前記第2の処理ステージによって判断された前記宛先リンクレイヤアドレスとは異なると判断したことに応答して、前記メッセージ中の前記第1のリンクレイヤアドレスを前記宛先リンクレイヤアドレスと交換することと、
前記第1のハイブリッドデバイスの前記第2の処理ステージにおいて、前記第1の処理ステージによって判断された前記第1のリンクレイヤアドレスが、前記第2の処理ステージによって判断された前記宛先リンクレイヤアドレスと同じであると判断したことに応答して、または前記メッセージ中の前記第1のリンクレイヤアドレスを前記宛先リンクレイヤアドレスと交換した前記動作に応答して、前記メッセージを前記第2のハイブリッドデバイスに送信することとを備える、C35に記載の機械可読記憶媒体。
[C37] 前記第1の処理ステージに関連付けられた前記第1のデータベースが、前記第2のハイブリッドデバイスのネットワークアドレスと、前記第2のハイブリッドデバイスに関連付けられた前記第1のリンクレイヤアドレスとを備え、
前記第2の処理ステージに関連付けられた前記第2のデータベースは、複数のアドレス解決ストアエントリの各々が、前記第2のハイブリッドデバイスの前記ネットワークアドレスと、前記第2のハイブリッドデバイスに関連付けられた前記複数のリンクレイヤアドレスのうちの1つとを備えるように、前記複数のアドレス解決ストアエントリを備え、
前記第1のデータベース中の前記第1のリンクレイヤアドレスが、前記第2のデータベースの前記複数のアドレス解決ストアエントリへのポインタである、C36に記載の機械可読記憶媒体。
[C38] 1つまたは複数のプロセッサによって実行されたとき、
通信ネットワークの第1のハイブリッドデバイスのハイブリッドネットワークレイヤにおいて、前記第1のハイブリッドデバイスの上位プロトコルレイヤからの要求メッセージを検出することと、ここにおいて、前記要求メッセージが、前記通信ネットワークの第2のハイブリッドデバイスに関連付けられたリンクレイヤアドレスについての要求を備える、
前記第1のハイブリッドデバイスの前記ハイブリッドネットワークレイヤにおいて、前記第1のハイブリッドデバイスの前記ハイブリッドネットワークレイヤが、前記第2のハイブリッドデバイスに関連付けられた前記リンクレイヤアドレスを備えるかどうかを判断することと、
前記第1のハイブリッドデバイスの前記ハイブリッドネットワークレイヤが、前記第2のハイブリッドデバイスに関連付けられた前記リンクレイヤアドレスを備えると判断したことに応答して、
前記第1のハイブリッドデバイスの前記ハイブリッドネットワークレイヤに関連付けられた第1のデータベースから、前記第2のハイブリッドデバイスに関連付けられた識別子アドレスを判断することと、
前記第1のハイブリッドデバイスの前記上位プロトコルレイヤに、少なくとも前記第2のハイブリッドデバイスに関連付けられた前記識別子アドレスを備える第1の応答メッセージを与えることと、
前記要求メッセージを前記第2のハイブリッドデバイスに送信することなしに、前記ハイブリッドネットワークレイヤにおいて前記要求メッセージを廃棄することと、
前記第1のハイブリッドデバイスの前記ハイブリッドネットワークレイヤが、前記第2のハイブリッドデバイスに関連付けられた前記リンクレイヤアドレスを備えないと判断したことに応答して、
前記要求メッセージを前記第2のハイブリッドデバイスに送信することと、
前記要求メッセージを前記第2のハイブリッドデバイスに送信した前記動作に応答して、前記第1のハイブリッドデバイスの前記ハイブリッドネットワークレイヤにおいて、前記第2のハイブリッドデバイスから1つまたは複数の応答メッセージを受信することと、
前記第2のハイブリッドデバイスから受信された前記1つまたは複数の応答メッセージに基づいて前記第1のデータベース中の前記第2のハイブリッドデバイスに関連付けられた1つまたは複数のアドレス解決ストアエントリを更新することと、
前記第1のハイブリッドデバイスの前記上位プロトコルレイヤのための前記第1の応答メッセージを生成することと、ここにおいて、前記第1の応答メッセージが、少なくとも前記第2のハイブリッドデバイスに関連付けられた前記識別子アドレスを備える、を備える動作を前記1つまたは複数のプロセッサに実行させる命令を記憶した1つまたは複数の機械可読記憶媒体。
[C39] 前記第1のハイブリッドデバイスの前記ハイブリッドネットワークレイヤが、前記第2のハイブリッドデバイスに関連付けられた前記リンクレイヤアドレスを備えないと判断したことに応答して、
前記要求メッセージを前記第2のハイブリッドデバイスに送信する前記動作が、
前記第2のハイブリッドデバイスに関連付けられたネットワークレイヤアドレスと、前記第2のハイブリッドデバイスに関連付けられたヌルリンクレイヤアドレスとを含むアドレス解決ストアエントリを前記第1のデータベース中に生成すること
をさらに備え、
前記第2のハイブリッドデバイスから受信された前記1つまたは複数の応答メッセージに基づいて前記第1のデータベース中の前記第2のハイブリッドデバイスに関連付けられた前記1つまたは複数のアドレス解決ストアエントリを更新する前記動作が、
前記第2のハイブリッドデバイスから受信された前記1つまたは複数の応答メッセージから、前記第2のハイブリッドデバイスに関連付けられた前記リンクレイヤアドレスを判断することと、
前記ヌルリンクレイヤアドレスを前記第2のハイブリッドデバイスに関連付けられた前記リンクレイヤアドレスと交換することと
を備える、C38に記載の機械可読記憶媒体。
[C40] 前記動作は、
前記第1のハイブリッドデバイスの前記上位プロトコルレイヤから、前記第2のハイブリッドデバイスへの送信のためにスケジュールされたメッセージを受信することと、ここにおいて、前記メッセージが、前記第2のハイブリッドデバイスに関連付けられた前記識別子アドレスを備える、
前記第1のデータベース中の前記第2のハイブリッドデバイスに関連付けられた前記1つまたは複数のアドレス解決ストアエントリに少なくとも部分的に基づいて、および前記上位プロトコルレイヤから前記メッセージ中で受信された前記識別子アドレスに基づいて、前記第1のハイブリッドデバイスの前記ハイブリッドネットワークレイヤにおいて、前記メッセージを前記第2のハイブリッドデバイスに送信するための送信ルートと、対応する宛先リンクレイヤアドレスとを判断することと、
前記上位プロトコルレイヤによって判断された前記識別子アドレスが、前記ハイブリッドネットワークレイヤによって判断された前記宛先リンクレイヤアドレスとは異なるかどうかを判断することと、
前記上位プロトコルレイヤによって判断された前記識別子アドレスが、前記ハイブリッドネットワークレイヤによって判断された前記宛先リンクレイヤアドレスとは異なると判断したことに応答して、前記識別子アドレスを前記宛先リンクレイヤアドレスと交換することと、
前記上位プロトコルレイヤによって判断された前記識別子アドレスが、前記ハイブリッドネットワークレイヤによって判断された前記宛先リンクレイヤアドレスに一致すると判断したことに応答して、または前記識別子アドレスを前記宛先リンクレイヤアドレスと交換した前記動作に応答して、前記メッセージを前記第2のハイブリッドデバイスに送信することとをさらに備える、C38に記載の機械可読記憶媒体。