(57)【特許請求の範囲】
【請求項１】
通信ネットワークにおいてパケットルーティングを管理するための方法であって、前記方法は、
第１のネットワークデバイスで、第１のパケットルートから第２のパケットルートへの、前記第１のネットワークデバイスと第２のネットワークデバイスとの間のパケットルートの変化を検出することと、ここにおいて、前記パケットルートの前記変化を前記検出することは、
前記第１のパケットルートを介して第１のネットワークインターフェースで受信されるルート終了パケット内でルート終了インジケータを検出すること、ここにおいて、前記ルート終了インジケータは前記パケットルートの前記変化を示す、および
前記第２のパケットルートを介して第２のネットワークインターフェースで受信されるルート開始パケット内でルート開始インジケータを検出すること、ここにおいて、前記ルート開始インジケータは、前記第２のネットワークデバイスからの後続パケットが前記第２のパケットルートを介して送信されることを示す、
を備え、
前記パケットルートの前記変化を前記検出することに応答して、前記ルート終了インジケータを受信する前に、前記ルート開始インジケータが受信されたかどうかに少なくとも部分的に基づいて、前記第１のパケットルートを介して受信された第１のパケットおよび前記第２のパケットルートを介して受信された第２のパケットが所定のパケット順序に従って受信されたかどうかを判定することと、
前記第１のパケットおよび前記第２のパケットが前記所定のパケット順序に従って受信されなかったとの判定に応答して、前記所定のパケット順序に従って前記第１のパケットおよび前記第２のパケットをリオーダリングすることと
を備える方法。
【請求項２】
前記第１のパケットおよび前記第２のパケットを前記リオーダリングすることは、前記ルート開始インジケータを受信した後、前記ルート終了インジケータを受信する前に受信された前記第２のパケットを前記第１のネットワークデバイスのリオーダリングバッファに格納することをさらに備える、請求項１に記載の方法。
【請求項３】
前記パケットルートの前記変化を前記検出することは、前記第１のパケットルートを介して受信された前記第１のパケットが、前記第２のパケットルートを介して受信された前記第２のパケットに関連する第２のパケットヘッダとは異なる第１のパケットヘッダに関連することを判定することを備える、請求項１に記載の方法。
【請求項４】
前記第２のネットワークデバイスの通信インターフェースと、前記第２のネットワークデバイスの下位プロトコル層アドレスと、前記第１のネットワークデバイスの通信インターフェースと、前記第１のネットワークデバイスの下位プロトコル層アドレスと、前記第２のネットワークデバイスによって実施される通信プロトコルの表示と、転送するネットワークデバイスに関連する情報と、パケットヘッダ内の複数のビットと、パケットヘッダフォーマットと、パケットヘッダ符号化とからなるグループのうちの少なくとも１つのメンバを分析することに少なくとも部分的に基づいて前記パケットルートの前記変化を検出するために、前記第１のパケットに関連するパケットヘッダおよび前記第２のパケットに関連するパケットヘッダを分析することをさらに備える、請求項１に記載の方法。
【請求項５】
前記第１のパケットおよび前記第２のパケットが前記所定のパケット順序に従って受信されたかどうかを前記判定することは、
前記第１のパケットヘッダに関連する第３のパケットを受信することと、ここにおいて、前記第３のパケットは、前記第２のパケットの後に受信される、
前記第２のパケットの前記第２のパケットヘッダおよび前記第３のパケットの前記第１のパケットヘッダに少なくとも部分的に基づいて、前記第３のパケットが、前記第２のパケットが前記第２のパケットルート上で受信された後に前記第１のパケットルート上で受信されることを判定することと、
前記第３のパケットが、前記第２のパケットが前記第２のパケットルート上で受信された後に前記第１のパケットルート上で受信されることの判定に少なくとも部分的に基づいて、前記第３のパケットが前記所定のパケット順序に従って受信されるのではないことを判定することと
を備える、請求項３に記載の方法。
【請求項６】
前記パケットルートの前記変化に少なくとも部分的に基づいて、前記第１のパケットおよび前記第２のパケットを、前記第１のパケットルートまたは前記第２のパケットルートに関連するものとして分類することをさらに備える、請求項１に記載の方法。
【請求項７】
前記第１のパケットおよび前記第２のパケットが前記所定のパケット順序で受信されたことを前記判定することは、
前記第１のパケットおよび前記第２のパケットが、同じパケットストリームの一部であることを判定すること、および
前記第１のパケットおよび前記第２のパケットが、異なるパケットストリームの一部である関連したパケットであることを判定すること
からなるグループのうちの少なくとも１つのメンバを備える、請求項１に記載の方法。
【請求項８】
ネットワークインターフェースと、
前記ネットワークインターフェースに結合されたリオーダリングユニットと
を備え、前記リオーダリングユニットは、
第１のパケットルートから第２のパケットルートへの、第１のネットワークデバイスと第２のネットワークデバイスとの間のパケットルートの変化を検出するように動作可能であり、ここにおいて、前記パケットルートの前記変化を検出するように動作可能なリオーダリングユニットは、
前記第１のパケットルートを介して第１のネットワークインターフェースで受信されるルート終了パケット内のルート終了インジケータ、ここにおいて、前記ルート終了インジケータは、前記パケットルートの前記変化を示す、および
前記第２のパケットルートを介して第２のネットワークインターフェースで受信されるルート開始パケット内のルート開始インジケータ、ここにおいて、前記ルート開始インジケータは、前記第２のネットワークデバイスからの後続パケットが前記第２のパケットルートを介して送信されることを示す、
を検出することと、
前記パケットルートの前記変化を前記検出することに応答して、前記ルート終了インジケータを受信する前に、前記ルート開始インジケータが受信されたかどうかに少なくとも部分的に基づいて、前記第１のパケットルートを介して受信された第１のパケットおよび前記第２のパケットルートを介して受信された第２のパケットが所定のパケット順序に従って受信されたかどうかを判定することと、
前記第１のパケットおよび前記第２のパケットが前記所定のパケット順序に従って受信されたのではないとの判定に応答して、前記所定のパケット順序に従って前記第１のパケットおよび前記第２のパケットをリオーダリングすることと
を行うように動作可能である、第１のネットワークデバイス。
【請求項９】
前記リオーダリングユニットは、
前記を検出すること、ここにおいて、前記を受信した後、前記ルート終了インジケータを受信する前に、受信される少なくとも前記第２のパケットをリオーダリングバッファに格納する
ようにさらに動作可能である、請求項８に記載の第１のネットワークデバイス。
【請求項１０】
前記リオーダリングユニットは、前記第１のパケットが、前記第２のパケットに関連する第２のパケットヘッダとは異なる第１のパケットヘッダに関連することを判定するようにさらに動作可能である、請求項８記載の第１のネットワークデバイス。
【請求項１１】
前記リオーダリングユニットは、
前記第１のパケットヘッダに関連する第３のパケットを受信することと、ここにおいて、前記第３のパケットは、前記第２のパケットの後に受信される、
前記第２のパケットの前記第２のパケットヘッダおよび前記第３のパケットの前記第１のパケットヘッダに少なくとも部分的に基づいて、前記第３のパケットが、前記第２のパケットが前記第２のパケットルート上で受信された後に前記第１のパケットルート上で受信されることを判定することと、
前記第３のパケットが、前記第２のパケットが前記第２のパケットルート上で受信された後に前記第１のパケットルート上で受信されることの判定に少なくとも部分的に基づいて、前記第３のパケットが前記所定のパケット順序に従って受信されるのではないことを判定することと
を行うようにさらに動作可能である、請求項１０に記載の第１のネットワークデバイス。
【請求項１２】
前記リオーダリングユニットは、前記ルート終了インジケータまたは前記ルート開始インジケータのうちの１つに少なくとも部分的に基づいて、前記第１のパケットおよび前記第２のパケットを、前記第１のパケットルートまたは前記第２のパケットルートに関連するものとして分類するようにさらに動作可能である、請求項８に記載の第１のネットワークデバイス。
【請求項１３】
前記リオーダリングユニットは、
前記第１のパケットおよび前記第２のパケットが、同じパケットストリームの一部であることを判定し、
前記第１のパケットおよび前記第２のパケットが、異なるパケットストリームの一部である関連したパケットであることを判定する
ようにさらに動作可能である、請求項８に記載の第１のネットワークデバイス。
【請求項１４】
前記リオーダリングユニットは、
前記第１のパケットおよび前記第２のパケットが前記所定のパケット順序に従って受信されたのではないことの判定に応答して、少なくとも前記第２のパケットを前記第１のネットワークデバイスのリオーダリングバッファに格納し、
前記第１のパケットおよび前記第２のパケットをリオーダリングするために、前記第１のネットワークデバイスの上位プロトコル層での処理のために前記リオーダリングバッファから前記第２のパケットを供給する
ようにさらに動作可能である、請求項８に記載の第１のネットワークデバイス。
【請求項１５】
プロセッサによって実行された時に、前記プロセッサに、
第１のネットワークデバイスで、第１のパケットルートから第２のパケットルートへの、前記第１のネットワークデバイスと第２のネットワークデバイスとの間のパケットルートの変化を検出することと、ここにおいて、前記パケットルートの前記変化を前記検出することは、
前記第１のパケットルートを介して第１のネットワークインターフェースで受信されるルート終了パケット内でルート終了インジケータを検出すること、ここにおいて、前記ルート終了インジケータは前記パケットルートの前記変化を示す、および
前記第２のパケットルートを介して第２のネットワークインターフェースで受信されるルート開始パケット内でルート開始インジケータを検出すること、ここにおいて、前記ルート開始インジケータは、前記第２のネットワークデバイスからの後続パケットが前記第２のパケットルートを介して送信されることを示す、
を備え、
前記パケットルートの前記変化を前記検出することに応答して、前記ルート終了インジケータを受信する前に、前記ルート開始インジケータが受信されたかどうかに少なくとも部分的に基づいて、前記第１のパケットルートを介して受信された第１のパケットおよび前記第２のパケットルートを介して受信された第２のパケットが所定のパケット順序に従って受信されたかどうかを判定することと、
前記第１のパケットおよび前記第２のパケットが前記所定のパケット順序に従って受信されなかったとの判定に応答して、前記所定のパケット順序に従って前記第１のパケットおよび前記第２のパケットをリオーダリングすることと
を備える動作を実行させる命令を格納した非一時的機械可読記憶媒体。
【請求項１６】
前記パケットルートの前記変化を前記検出することは、前記第１のパケットが、前記第２のパケットに関連する第２のパケットヘッダとは異なる第１のパケットヘッダに関連することを判定することを備える、請求項１５に記載の非一時的機械可読記憶媒体。
【請求項１７】
前記第１のパケットおよび前記第２のパケットが前記所定のパケット順序に従って受信されたかどうかを判定する前記動作は、
前記第１のパケットヘッダに関連する第３のパケットを受信することと、ここにおいて、前記第３のパケットは、前記第２のパケットの後に受信される、
前記第２のパケットの前記第２のパケットヘッダおよび前記第３のパケットの前記第１のパケットヘッダに少なくとも部分的に基づいて、前記第３のパケットが、前記第２のパケットが前記第２のパケットルート上で受信された後に前記第１のパケットルート上で受信されることを判定することと、
前記第３のパケットが、前記第２のパケットが前記第２のパケットルート上で受信された後に前記第１のパケットルート上で受信されることの判定に少なくとも部分的に基づいて、前記第３のパケットが前記所定のパケット順序に従って受信されるのではないことを判定することと
を備える、請求項１６に記載の非一時的機械可読記憶媒体。
【請求項１８】
前記第１のパケットおよび前記第２のパケットが前記所定のパケット順序に従って受信されたのではないことの判定に応答して、前記動作は、
少なくとも前記第２のパケットを前記第１のネットワークデバイスのリオーダリングバッファに格納すること
をさらに備え、前記所定のパケット順序に従って前記第１のパケットおよび前記第２のパケットをリオーダリングする前記動作は、
前記リオーダリングバッファから前記第１のネットワークデバイスの上位プロトコル層での処理のために前記第２のパケットを供給すること
を備える、請求項１５に記載の非一時的機械可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本願は、２０１１年１１月３日に出願した米国特許出願第１３／２８８３１３号の優先権利益を主張するものである。
【０００２】
本主題の実施形態は、全般的には通信システムの分野に関し、より詳細には、ハイブリッド通信ネットワークでの配送ルート変化に基づくパケットオーダリングに関する。
【背景技術】
【０００３】
ハイブリッド通信ネットワークは、通常、単一の拡張された通信ネットワークを形成するために、異なるネットワーク技術および媒体の間でパケットを転送するブリッジング対応デバイスを使用して相互接続された複数のネットワーキング技術（たとえば、ワイヤレスローカルエリアネットワーク（ＷＬＡＮ）技術、電力線通信技術、イーサネット（登録商標）など）を備える。通常、通信機構およびプロトコルの詳細（たとえば、デバイスおよびトポロジのディスカバリ、他のネットワークへのブリッジングなど）は、各ネットワーキング技術に特有である。ハイブリッド通信ネットワークは、ソースネットワークデバイスから宛先ネットワークデバイスへパケットを配送するために、異なるネットワーク技術のうちの１つまたは複数に関連する異なるルートを提供することができる。
【発明の概要】
【０００４】
いくつかの実施形態では、方法は、通信ネットワークの第１のネットワークデバイスと第２のネットワークデバイスとの間の複数のパケットルートのうちの第１のパケットルートを介して複数のパケットを送信することと、第１のネットワークデバイスと第２のネットワークデバイスとの間の複数のパケットルートのうちの第２のパケットルートを介して第２のネットワークデバイスに１つまたは複数のパケットを送信すると決定することと、第２のネットワークデバイスが所定の順序でパケットを処理することを可能にするために、複数のパケットルートの第１のパケットルートから第２のパケットルートへの第１のネットワークデバイスと第２のネットワークデバイスとの間のパケットルートの変化の表示を第２のネットワークデバイスに供給することと、複数のパケットルートの第２のパケットルートを介して第２のネットワークデバイスに１つまたは複数のパケットを送信することとを備える。
【０００５】
いくつかの実施形態では、第１のパケットルートを介して送信される複数のパケットおよび第２のパケットルートを介して送信される１つまたは複数のパケットは、共通のパケットストリーム、パケットストリームのセット、または共通のルートを共有するように構成されたパケットのセットのうちの１つに関連する。
【０００６】
いくつかの実施形態では、第１のネットワークデバイスと第２のネットワークデバイスとの間の複数のパケットルートのうちの第２のパケットルートを介して第２のネットワークデバイスに１つまたは複数のパケットを送信することの前記決定に応答して、前記方法は、第１のパケットルートを介する複数のパケットのうちの最後のパケットの送信と第２のパケットルートを介する１つまたは複数のパケットのうちの最初のパケットの送信との間にルート変化待ち時間間隔を実施すると決定することと、第１のパケットルートを介して第２のネットワークデバイスに複数のパケットのうちの最後のパケットを送信することと、第１のパケットルートを介する第２のネットワークデバイスへの複数のパケットのうちの最後のパケットの前記送信に応答して、ルート変化待ち時間間隔を開始することと、ルート変化待ち時間間隔が経過したことを判定することと、ルート変化待ち時間間隔が経過したことの前記判定に応答して、第２のパケットルートを介して第２のネットワークデバイスに１つまたは複数のパケットのうちの最初のパケットを送信することとをさらに備える。
【０００７】
いくつかの実施形態では、ルート変化待ち時間間隔は、第１のパケットルートに関連するルート待ち時間と、第２のパケットルートに関連するルート待ち時間と、第１のパケットルートに関連する推定されたパケット配送時間と、第２のパケットルートに関連する推定されたパケット配送時間と、通信ネットワーク待ち時間と、第１のネットワークデバイスおよび第２のネットワークデバイスが複数の再送信の試みをサポートする場合のラウンドトリップ再送信遅延時間間隔と、ラウンドトリップ遅延と、シーケンス内の最後のパケットの受信と順序はずれパケットの受信との間の最長の遅延と、再送信されたパケットを待っている間にデータを格納するための最大の使用可能なメモリとのうちの１つまたは複数に基づいて決定される。
【０００８】
いくつかの実施形態では、第２のネットワークデバイスが所定の順序でパケットを処理することを可能にするための、複数のパケットルートの第１のパケットルートから第２のパケットルートへの第１のネットワークデバイスと第２のネットワークデバイスとの間のパケットルートの変化の表示を前記供給することは、第１のパケットルートを介して第２のネットワークデバイスに複数のパケットのうちの最後のパケットを送信することと、第１のネットワークデバイスと第２のネットワークデバイスとの間のパケットルートの変化を示すために、第１のパケットルートを介する複数のパケットのうちの最後のパケットの銭送信に応答して、第１のパケットルートを介して第２のネットワークデバイスにルート終了パケットを供給することと、第１のネットワークデバイスからの後続パケットが第２のパケットルートを介して送信されることを示すために、第２のパケットルートを介して第２のネットワークデバイスにルート開始パケットを供給することと、第２のパケットルートを介する第２のネットワークデバイスへのルート開始パケットを前記供給することに応答して、第２のパケットルートを介して第２のネットワークデバイスに１つまたは複数のパケットのうちの最初のパケットを送信することとを備える。
【０００９】
いくつかの実施形態では、第２のネットワークデバイスが所定の順序でパケットを処理することを可能にするための、複数のパケットルートの第１のパケットルートから第２のパケットルートへの第１のネットワークデバイスと第２のネットワークデバイスとの間のパケットルートの変化の表示を前記供給することは、第１のネットワークデバイスと第２のネットワークデバイスとの間のパケットルートの変化を示すために、第１のパケットルートを介して第２のネットワークデバイスに送信されるようにスケジューリングされた複数のパケットパケットのうちの少なくとも最後のパケットにルート終了タグを挿入することと、ルート終了タグを含む複数のパケットパケットのうちの少なくとも最後のパケットを第１のパケットルートを介して第２のネットワークデバイスに送信することと、第１のネットワークデバイスからの後続パケットが第２のパケットルートを介して送信されることを示すために、第２のパケットルートを介して第２のネットワークデバイスに送信されるようにスケジューリングされた１つまたは複数のパケットのうちの少なくとも最初のパケットにルート開始タグを挿入することと、ルート開始タグを含む１つまたは複数のパケットのうちの少なくとも最初のパケットを第２のパケットルートを介して第２のネットワークデバイスに送信することとを備える。
【００１０】
いくつかの実施形態では、シーケンスインジケータは、第１のネットワークデバイスの上位プロトコル層によって挿入される主シーケンス識別子と、第１のネットワークデバイスのハイブリッドアダプテーション層（hybrid adaptation layer）によって挿入される副シーケンス識別子とのうちの１つまたは複数を備える。
【００１１】
いくつかの実施形態では、方法は、第１のネットワークデバイスで、第２のネットワークデバイスでのパケットリオーダリングを容易にするために第２のパケットルートを介して送信される１つまたは複数のパケットのそれぞれに１つまたは複数のシーケンスインジケータを挿入することをさらに備える。
【００１２】
いくつかの実施形態では、方法は、第１のネットワークデバイスで、第１のパケットルートを介して送信される複数のパケットのうちの１つまたは複数の最後のパケットに１つまたは複数のシーケンスインジケータを挿入することと、第１のネットワークデバイスで、第２のネットワークデバイスでのパケットリオーダリングを容易にするために第２のパケットルートを介して送信される１つまたは複数のパケットに１つまたは複数のシーケンスインジケータを挿入することであって、第２のパケットルートを介して送信される１つまたは複数のパケットに挿入される１つまたは複数のシーケンスインジケータは、第１のパケットルートを介して送信される複数のパケットの１つまたは複数の最後のパケットに挿入される１つまたは複数のシーケンスインジケータと共に順序通りである、挿入することとをさらに備える。
【００１３】
いくつかの実施形態では、方法は、第１のパケットルートを介して第２のネットワークデバイスに送信されるようにスケジューリングされた複数のパケットのうちの少なくとも最後のパケットに第１のルートタグを挿入することと、第１のルートタグを含む複数のパケットのうちの少なくとも最後のパケットを第１のパケットルートを介して第２のネットワークデバイスに送信することと、第２のパケットルートを介して第２のネットワークデバイスに送信されるようにスケジューリングされた１つまたは複数のパケットのうちの少なくとも最初のパケットに第２のルートタグを挿入することであって、第１のルートタグから第２のルートタグへの切替は、第１のネットワークデバイスと第２のネットワークデバイスとの間のパケットルートの変化を示す、挿入することと、第２のルートタグを含む１つまたは複数のパケットのうちの少なくとも最初のパケットを第２のパケットルートを介して第２のネットワークデバイスに送信することとをさらに備える。
【００１４】
いくつかの実施形態では、方法は、第２のパケットルート上で第１のパケットルートを介して以前に送信された複数のパケットの少なくともサブセットを複製すると決定することと、第１のパケットルートを介して以前に送信された複数のパケットの少なくともサブセットを第２のパケットルートを介して第２のネットワークデバイスに再送信することとをさらに備える。
【００１５】
いくつかの実施形態では、方法は、通信ネットワークの第１のネットワークデバイスで、通信ネットワークの第２のネットワークデバイスから受信された複数のパケットに少なくとも部分的に基づいて、複数のパケットルートの第１のパケットルートから第２のパケットルートへの、第１のネットワークデバイスと第２のネットワークデバイスとの間のパケットルートの変化を示す１つまたは複数のルート変化インジケータを検出することと、１つまたは複数のルート変化インジケータに基づいて、複数のパケットが所定のパケット順序に従って受信されたかどうかを判定することと、複数のパケットが所定のパケット順序に従って受信されなかったとの判定に応答して、所定のパケット順序に従って複数のパケットをリオーダリングすることとを備える。
【００１６】
いくつかの実施形態では、複数のパケットルートの第１のパケットルートから第２のパケットルートへの、第１のネットワークデバイスと第２のネットワークデバイスとの間のパケットルートの変化を示す１つまたは複数のルート変化インジケータを前記検出することは、第１のパケットルートから第２のパケットルートへの、第１のネットワークデバイスと第２のネットワークデバイスとの間のパケットルートの変化を示すルート終了インジケータであって、ルート終了タグおよびルート終了パケットのうちの少なくとも１つを備える、ルート終了インジケータと、第２のネットワークデバイスからの後続パケットが第２のパケットルートを介して送信されることを示すルート開始インジケータであって、ルート開始タグおよびルート開始パケットのうちの少なくとも１つを備える、ルート開始インジケータとのうちの少なくとも１つを検出することを備える。
【００１７】
いくつかの実施形態では、１つまたは複数のルート変化インジケータに基づく複数のパケットが所定のパケット順序に従って受信されたかどうかの前記判定は、ルート開始インジケータが、第１のパケットルートを介するルート終了インジケータの受信の前に第２のパケットルートを介して受信されたかどうかを判定することを備える。
【００１８】
いくつかの実施形態では、所定のパケット順序に従う複数のパケットの前記リオーダリングは、所定のパケット順序に従ってパケットをリオーダリングするためにルート終了インジケータが受信されるまで、ルート開始インジケータを第２のパケットルートを介して受信した後、ルート終了インジケータを第１のパケットルートを介して受信する前に、第２のパケットルートを介して受信された複数のパケットのうちの１つまたは複数をリオーダリングバッファに格納することをさらに備える。
【００１９】
いくつかの実施形態では、複数のパケットルートの第１のパケットルートから複数のパケットルートの第２のパケットルートへの、第１のネットワークデバイスと第２のネットワークデバイスとの間のパケットルートの変化を示す１つまたは複数のルート変化インジケータを前記検出することは、第２のネットワークデバイスから受信された複数のパケットのそれぞれに関連するパケットヘッダを分析することと、第２のパケットルートを介して受信された複数のパケットの第１のパケットが、第１のパケットルートを介して以前に受信された複数のパケットのうちの少なくとも１つのパケットに関連する第２のパケットヘッダとは異なる第１のパケットヘッダに関連することを判定することと、第２のパケットルートを介して受信された複数のパケットの第１のパケットが、第１のパケットルートを介して以前に受信された複数のパケットのうちの少なくとも１つのパケットに関連する第２のパケットヘッダとは異なる第１のパケットヘッダに関連することの前記判定に少なくとも部分的に基づいて、第１のネットワークデバイスと第２のネットワークデバイスとの間のパケットルートの変化を検出することとを備える。
【００２０】
いくつかの実施形態では、第２のネットワークデバイスから受信された複数のパケットのそれぞれに関連するパケットヘッダの前記分析は、第２のネットワークデバイスに関連する通信インターフェースと、第２のネットワークデバイスに関連する下位プロトコル層アドレスと、第１のネットワークデバイスに関連する通信インターフェースと、第１のネットワークデバイスに関連する下位プロトコル層アドレスと、第２のネットワークデバイスによって実施される通信プロトコルの表示と、１つまたは複数の転送するネットワークデバイスに関連する情報と、パケットヘッダ内の複数のビットと、パケットヘッダフォーマットと、パケットヘッダ符号化とのうちの少なくとも１つを分析することを備える。
【００２１】
いくつかの実施形態では、１つまたは複数のルート変化インジケータに基づく、複数のパケットが所定のパケット順序に従って受信されたかどうかの前記判定は、複数のパケットのうちの第２のパケットが第２のパケットヘッダに関連することを判定することであって、第２のパケットは、第１のパケットの後に受信される、判定することと、複数のパケットのうちの第２のパケットが第２のパケットヘッダに関連することの前記判定に少なくとも部分的に基づいて、第２のパケットが、少なくとも第１のパケットが第２のパケットルート上で受信された後に第１のパケットルート上で受信されることを判定することと、第２のパケットが、少なくとも第１のパケットが第２のパケットルート上で受信された後に第１のパケットルート上で受信されることの前記判定に基づいて、第２のパケットが所定のパケット順序に従って受信されるのではないことを判定することとを備える。
【００２２】
いくつかの実施形態では、方法は、１つまたは複数のルート変化インジケータに少なくとも部分的に基づいて、複数のパケットのそれぞれを、第１のパケットルートまたは第２のパケットルートに関連するものとして分類することをさらに備える。
【００２３】
いくつかの実施形態では、方法は、第１のネットワークデバイスで第２のネットワークデバイスから受信されたパケットごとに、パケットが、複数のパケットストリームのうちの１つのパケットストリームまたは共通のパケットルートを共有するように構成されたパケットの複数の所定のセットのうちの１つに関連することを識別することと、第２のネットワークデバイスから受信された各パケットを、パケットに関連するパケット分類情報と、パケットに関連するパケットストリームおよび共通のパケットルートを共有するように構成されたパケットの所定のセットのうちの少なくとも１つとに少なくとも部分的に基づいてソートすることと、第２のネットワークデバイスから受信された複数のパケットが、複数のパケットストリームのうちの第１のパケットストリームまたはパケットの第１の所定のセットに関連することを判定することと、第１のネットワークデバイスと第２のネットワークデバイスとの間のパケットルートの変化を検出するために、複数のパケットストリームのうちの第１のパケットストリームまたはパケットの第１の所定のセットに関連する第２のネットワークデバイスから受信された複数のパケットを分析することとをさらに備える。
【００２４】
いくつかの実施形態では、複数のパケットが所定のパケット順序に従って受信されたのではないことの判定に応答して、方法は、所定のパケット順序に従って受信されたのではない複数のパケットのサブセットを識別することと、所定のパケット順序に従って受信されたのではない複数のパケットのサブセットをリオーダリングバッファに格納することとをさらに備え、所定のパケット順序に従う複数のパケットの前記リオーダリングは、所定のパケット順序に従う第１のネットワークデバイスでの処理のために複数のパケットの格納されたサブセットのうちの１つまたは複数を供給すべきかどうかを判定することと、第１のネットワークデバイスでの処理のために複数のパケットのうちの１つまたは複数を供給すべきであるとの判定に応答して、第１のネットワークデバイスでの処理のために複数のパケットの格納されたサブセットのうちの１つまたは複数を識別し、供給することとを備える。
【００２５】
いくつかの実施形態では、第１のネットワークデバイスでの処理のための複数のパケットの格納されたサブセットのうちの１つまたは複数を前記識別し、供給することは、第１のパケットルート上でのルート終了インジケータの受信に応答して、第１のパケットルート上でのルート終了インジケータの受信の前に第２のパケットルート上で受信された複数のパケットの格納されたサブセットのうちの１つまたは複数を供給することであって、ルート終了インジケータは、パケットルートの変化を示す、供給すること、第１のパケットルートを介する１つまたは複数のパケットの受信に関連する待ち時間間隔が経過したことの判定に応答して、第２のパケットルート上で受信された複数のパケットの格納されたサブセットのうちの１つまたは複数を所定のパケット順序に従って供給すること、またはリオーダリングバッファがしきいバッファ容量を超えたことの判定に応答して、第２のパケットルート上で受信された複数のパケットの格納されたサブセットのうちの１つまたは複数を所定のパケットルートに従って供給することのうちの１つを備える。
【００２６】
いくつかの実施形態では、所定のパケット順序は、第２のネットワークデバイスによって第１のネットワークデバイスに送信される複数のパケットのそれぞれに挿入された１つまたは複数のシーケンス識別子のうちの少なくとも１つによって示され、パケットシーケンス情報は、第２のネットワークデバイスによって第１のネットワークデバイスに送信される複数のパケットのそれぞれに関連するパケット識別子および対応するシーケンス識別子を備え、パケットシーケンス情報は、ルート変化インジケータ内またはシーケンス表示パケット内で供給される。
【００２７】
いくつかの実施形態では、通信ネットワークデバイスは、少なくとも１つのネットワークインターフェースと、少なくとも１つのネットワークインターフェースに結合されたリオーダリングユニットであって、複数のパケットルートの第１のパケットルートから第２のパケットルートへの、通信ネットワークデバイスと第２の通信ネットワークデバイスとの間のパケットルートの変化を示す１つまたは複数のルート変化インジケータを、第２の通信ネットワークデバイスから受信された複数のパケットに少なくとも部分的に基づいて検出し、１つまたは複数のルート変化インジケータに基づいて、複数のパケットが所定のパケット順序に従って受信されたかどうかを判定し、リオーダリングユニットが、複数のパケットが所定のパケット順序に従って受信されたのではないと判定することに応答して、所定のパケット順序に従って複数のパケットをリオーダリングするように動作可能なリオーダリングユニットとを備える。
【００２８】
いくつかの実施形態では、複数のパケットルートの第１のパケットルートから第２のパケットルートへの、第１の通信ネットワークデバイスと第２の通信ネットワークデバイスとの間のパケットルートの変化を示す１つまたは複数のルート変化インジケータを検出するように動作可能なリオーダリングユニットは、第１のパケットルートから第２のパケットルートへの第１の通信ネットワークデバイスと第２の通信ネットワークデバイスとの間のパケットルートの変化を示すルート終了インジケータであって、ルート終了タグおよびルート終了パケットのうちの少なくとも１つを備える、ルート終了インジケータと、第２の通信ネットワークデバイスからの後続パケットが第２のパケットルートを介して送信されることを示すルート開始インジケータであって、ルート開始タグおよびルート開始パケットのうちの少なくとも１つを備える、ルート開始インジケータとのうちの少なくとも１つを検出するように動作可能なリオーダリングユニットを備える。
【００２９】
いくつかの実施形態では、１つまたは複数のルート変化インジケータに基づいて、複数のパケットが所定のパケット順序に従って受信されたかどうかを判定するように動作可能なリオーダリングユニットは、ルート開始インジケータが、リオーダリングユニットが第１のパケットルートを介してルート終了インジケータを受信する前に第２のパケットルートを介して受信されたかどうかを判定するように動作可能なリオーダリングユニットを備え、所定のパケット順序に従って複数のパケットをリオーダリングするように動作可能なリオーダリングユニットは、所定のパケット順序に従ってパケットをリオーダリングするためにルート終了インジケータが受信されるまで、第２のパケットルートを介してルート開始インジケータを受信した後、第１のパケットルートを介してルート終了インジケータを受信する前に、第２のパケットルートを介して受信される複数のパケットのうちの１つまたは複数をリオーダリングバッファに格納するように動作可能なリオーダリングユニットをさらに備える。
【００３０】
いくつかの実施形態では、複数のパケットルートの第１のパケットルートから複数のパケットルートの第２のパケットルートへの、第１の通信ネットワークデバイスと第２の通信ネットワークデバイスとの間のパケットルートの変化を示す１つまたは複数のルート変化インジケータを検出するように動作可能なリオーダリングユニットは、第２の通信ネットワークデバイスから受信された複数のパケットのそれぞれに関連するパケットヘッダを分析し、第２のパケットルートを介して受信される複数のパケットのうちの第１のパケットが、第１のパケットルートを介して以前に受信された複数のパケットのうちの少なくとも１つのパケットに関連する第２のパケットヘッダとは異なる第１のパケットヘッダに関連することを判定し、第２のパケットルートを介して受信される複数のパケットのうちの第１のパケットが、第１のパケットルートを介して以前に受信された複数のパケットのうちの少なくとも１つのパケットに関連する第２のパケットヘッダとは異なる第１のパケットヘッダに関連することをリオーダリングユニットが判定することに少なくとも部分的に基づいて、第１の通信ネットワークデバイスと第２の通信ネットワークデバイスとの間のパケットルートの変化を検出するように動作可能なリオーダリングユニットを備える。
【００３１】
いくつかの実施形態では、１つまたは複数のルート変化インジケータに基づいて、複数のパケットが所定のパケット順序に従って受信されたかどうかを判定するように動作可能なリオーダリングユニットは、複数のパケットの第２のパケットが第２のパケットヘッダに関連することを判定することであって、第２のパケットは、第１のパケットの後に受信される、判定することと、複数のパケットの第２のパケットが第２のパケットヘッダに関連することをリオーダリングユニットが判定することに少なくとも部分的に基づいて、少なくとも第１のパケットが第２のパケットルート上で受信された後に第２のパケットが第１のパケットルート上で受信されることを判定することと、少なくとも第１のパケットが第２のパケットルート上で受信された後に第２のパケットが第１のパケットルート上で受信されることを判定するように動作可能なリオーダリングユニットに基づいて、第２のパケットが所定のパケット順序に従って受信されるのではないと判定することとを行うように動作可能なリオーダリングユニットを備える。
【００３２】
いくつかの実施形態では、リオーダリングユニットは、１つまたは複数のルート変化インジケータに少なくとも部分的に基づいて、複数のパケットのそれぞれを第１のパケットルートまたは第２のパケットルートに関連するものとして分類するようにさらに動作可能である。
【００３３】
いくつかの実施形態では、リオーダリングユニットは、第１の通信ネットワークデバイスで第２の通信ネットワークデバイスから受信されたパケットごとに、パケットに関連する複数のパケットストリームのうちの１つのパケットストリームを識別し、パケットに関連するパケットストリームに少なくとも部分的に基づいて、第２の通信ネットワークデバイスから受信された各パケットをソートし、第２の通信ネットワークデバイスから受信された複数のパケットが複数のパケットストリームのうちの第１のパケットストリームに関連することを判定し、第１の通信ネットワークデバイスと第２の通信ネットワークデバイスとの間のパケットルートの変化を検出するために、複数のパケットストリームのうちの第１のパケットストリームに関連する第２の通信ネットワークデバイスから受信された複数のパケットを分析するようにさらに動作可能である。
【００３４】
いくつかの実施形態では、リオーダリングユニットが、複数のパケットが所定のパケット順序に従って受信されたのではないと判定することに応答して、リオーダリングユニットは、所定のパケット順序に従って受信されたのではない複数のパケットのサブセットを識別し、所定のパケット順序に従って受信されたのではない複数のパケットのサブセットをリオーダリングバッファに格納するようにさらに動作可能であり、所定のパケット順序に従って複数のパケットをリオーダリングするように動作可能なリオーダリングユニットは、所定のパケット順序に従う第１の通信ネットワークデバイスでの処理のために複数のパケットの格納されたサブセットのうちの１つまたは複数を供給すべきかどうかを判定し、リオーダリングユニットが第１の通信ネットワークデバイスでの処理のために複数のパケットのうちの１つまたは複数を供給すべきであると判定することに応答して、第１の通信ネットワークデバイスでの処理のために複数のパケットの格納されたサブセットのうちの１つまたは複数を識別し、供給するように動作可能なリオーダリングユニットを備える。
【００３５】
いくつかの実施形態では、１つまたは複数のプロセッサによって実行された時に、１つまたは複数のプロセッサに、第１のネットワークデバイスで、通信ネットワークの第２のネットワークデバイスから受信された複数のパケットに少なくとも部分的に基づいて、複数のパケットルートの第１のパケットルートから第２のパケットルートへの、第１のネットワークデバイスと第２のネットワークデバイスとの間のパケットルートの変化を示す１つまたは複数のルート変化インジケータを検出することと、１つまたは複数のルート変化インジケータに基づいて、複数のパケットが所定のパケット順序に従って受信されたかどうかを判定することと、複数のパケットが所定のパケット順序に従って受信されなかったとの判定に応答して、所定のパケット順序に従って複数のパケットをリオーダリングすることとを備える動作を実行させる命令を格納した１つまたは複数の機械可読記憶媒体。
【００３６】
いくつかの実施形態では、１つまたは複数のルート変化インジケータに基づいて複数のパケットが所定のパケット順序に従って受信されたかどうかを判定する前記動作は、ルート開始インジケータが、第１のパケットルートを介するルート終了インジケータの受信の前に第２のパケットルートを介して受信されたかどうかを判定することであって、ルート開始インジケータが、第２のネットワークデバイスからの後続パケットが第２のパケットルートを介して送信されることを示し、ルート終了インジケータが、第１のパケットルートから第２のパケットルートへの、第１のネットワークデバイスと第２のネットワークデバイスとの間のパケットルートの変化を示す、判定することを備え、所定のパケット順序に従って複数のパケットをリオーダリングする前記動作は、所定のパケット順序に従ってパケットをリオーダリングするために、ルート終了インジケータが受信されるまで、ルート開始インジケータを第２のパケットルートを介して受信した後、ルート終了インジケータを第１のパケットルートを介して受信する前に、第２のパケットルートを介して受信された複数のパケットのうちの１つまたは複数をリオーダリングバッファに格納することをさらに備える。
【００３７】
いくつかの実施形態では、複数のパケットルートの第１のパケットルートから複数のパケットルートの第２のパケットルートへの、第１のネットワークデバイスと第２のネットワークデバイスとの間のパケットルートの変化を示す１つまたは複数のルート変化インジケータを検出する前記動作は、第２のネットワークデバイスから受信された複数のパケットのそれぞれに関連するパケットヘッダを分析することと、第２のパケットルートを介して受信された複数のパケットの第１のパケットが、第１のパケットルートを介して以前に受信された複数のパケットのうちの少なくとも１つのパケットに関連する第２のパケットヘッダとは異なる第１のパケットヘッダに関連することを判定することと、第２のパケットルートを介して受信された複数のパケットの第１のパケットが、第１のパケットルートを介して以前に受信された複数のパケットのうちの少なくとも１つのパケットに関連する第２のパケットヘッダとは異なる第１のパケットヘッダに関連することの前記判定に少なくとも部分的に基づいて、第１のネットワークデバイスと第２のネットワークデバイスとの間のパケットルートの変化を検出することとを備える。
【００３８】
いくつかの実施形態では、１つまたは複数のルート変化インジケータに基づいて、複数のパケットが所定のパケット順序に従って受信されたかどうかを判定する前記動作は、複数のパケットのうちの第２のパケットが第２のパケットヘッダに関連することを判定することであって、第２のパケットは、第１のパケットの後に受信される、判定することと、複数のパケットのうちの第２のパケットが第２のパケットヘッダに関連することの前記判定に少なくとも部分的に基づいて、第２のパケットが、少なくとも第１のパケットが第２のパケットルート上で受信された後に第１のパケットルート上で受信されることを判定することと、第２のパケットが、少なくとも第１のパケットが第２のパケットルート上で受信された後に第１のパケットルート上で受信されることの前記判定に基づいて、第２のパケットが所定のパケット順序に従って受信されたのではないことを判定することとを備える。
【００３９】
いくつかの実施形態では、複数のパケットが所定のパケット順序に従って受信されたのではないことの判定に応答して、動作は、所定のパケット順序に従って受信されたのではない複数のパケットのサブセットを識別することと、所定のパケット順序に従って受信されたのではない複数のパケットのサブセットをリオーダリングバッファに格納することとをさらに備え、所定のパケット順序に従って複数のパケットをリオーダリングする前記動作は、所定のパケット順序に従う第１のネットワークデバイスでの処理のために複数のパケットの格納されたサブセットのうちの１つまたは複数を供給すべきかどうかを判定することと、第１のネットワークデバイスでの処理のために複数のパケットの格納されたサブセットのうちの１つまたは複数を供給すべきであるとの判定に応答して、第１のネットワークデバイスでの処理のために複数のパケットの格納されたサブセットのうちの１つまたは複数を識別し、供給することとを備える。
【００４０】
添付図面を参照することによって、本実施形態をよりよく理解することができ、多数の目的、特徴、および利点が、当業者に明白になる。
【図面の簡単な説明】
【００４１】
【図１】ハイブリッド通信ネットワーク内のパケットルート変化を示す例の機構を示すブロック図。
【図２】複数のネットワーキングインターフェースを実施するハイブリッドデバイスの例のプロトコルスタックを示す概念図。
【図３】宛先ハイブリッドデバイスとの通信のパケットルートの変化を示すソースハイブリッドデバイスの例の動作を示す流れ図。
【図４】図３の続きであり、やはり、宛先ハイブリッドデバイスとの通信のパケットルートの変化を示すソースハイブリッドデバイスの例の動作を示す流れ図。
【図５】ソースハイブリッドデバイスと宛先ハイブリッドデバイスとの間のパケットルートの変化を検出する宛先ハイブリッドデバイスの例の動作を示す流れ図。
【図６】ハイブリッド通信ネットワーク内のパケットルート変化を示す機構を含む電子デバイスの一実施形態を示すブロック図。
【発明を実施するための形態】
【００４２】
以下の説明は、本発明的主題の技法を実施する例示的なシステム、方法、技法、命令シーケンス、およびコンピュータプログラム製品を含む。しかし、説明される実施形態を、これらの特定の詳細なしで実践できることを理解されたい。たとえば、いくつかの実施形態では、パケットオーダリング機構を、ワイヤレスローカルエリアネットワーク（ＷＬＡＮ）デバイス（たとえば、ＩＥＥＥ  ８０２．１１デバイス）、電力線ネットワークデバイス（たとえば、ＨｏｍｅＰｌｕｇ（登録商標）ＡＶ）、およびイーサネットデバイスを備えるハイブリッド通信ネットワークに関して実施することができるが、他の実施形態では、パケットオーダリング機構を、他の標準規格／プロトコル（たとえば、ＷｉＭＡＸ（登録商標）など）を実施する他の適切なタイプのネットワークデバイスを備える可能性があるハイブリッド通信ネットワーク内で実施することができる。他の場合に、周知の命令インスタンス、プロトコル、構造、および技法は、説明を不明瞭にしないようにするために、詳細には示さない。
【００４３】
ソース通信デバイスは、通常、パケットの順序付きシーケンスで宛先通信デバイスにデータを送信する。受信されたデータの分析の一部として、宛先通信デバイスは、通常、パケットが、ソース通信デバイスによって送信されたのと同一の順序で処理されることを確実にする。従来の通信ネットワークは、ソース通信デバイスおよび宛先通信デバイスが通常はお互いと通信するための単一のインターフェースだけを利用するので、通常は任意の２つの通信デバイスの間でネットワークを介する単一のルートを提供する。しかし、ハイブリッド通信ネットワークは、通常、異なるネットワーク技術および通信媒体にまたがる通信ネットワークセグメント（サブネットワーク）の相互接続として形成される。ハイブリッド通信ネットワークは、通常、複数のネットワークインターフェースを含み、異なるネットワーク技術にまたがって動作するように構成された、ハイブリッドデバイスを備える。ハイブリッドデバイスは、ハイブリッド通信ネットワークを介してパケットを送信／受信するのに、複数のインターフェースのいずれをも使用することができる。その結果、複数のルートが、ソースハイブリッドデバイスと宛先ハイブリッドデバイスとの間に存在する場合がある。たとえば、ソースハイブリッドデバイスが、３つのネットワークインターフェースを含み、宛先ハイブリッドデバイスが、２つのネットワークインターフェースを含む場合には、少なくとも６つのルートが、このソースハイブリッドデバイスと宛先ハイブリッドデバイスとの間に存在する可能性がある。ソースハイブリッドデバイスは、宛先ハイブリッドデバイスにパケットを送信するために複数のルートの間で切り替えることができるので、１つまたは複数のパケットが、宛先ハイブリッドデバイスに順序はずれで到着する可能性がある。ソースハイブリッドデバイスが、宛先デバイスにパケットのシーケンスを配送するのに第１のルートを使用すると決定し、その後、後続パケットを配送するためにルートを変更する（変化するチャネル条件、ネットワーク負荷などに起因して）と決定する場合には、このルート変化は、宛先ハイブリッドデバイスでの順序はずれパケット配送をもたらす可能性があり、上位プロトコル層またはアプリケーションの動作を中断させる可能性がある。複数のルートが、同一のパケットストリームに属するパケットを送信するのに使用される時には、パケットの再送信および他のそのような要因のゆえに、異なるルートに関連するパケット伝送時間が異なるならば（たとえば、ネットワーク輻輳、変化する送信レートなどに起因して）、順序はずれパケット配送が発生する可能性がある。順序はずれパケットを管理する既存の技法は、通常、単一のネットワークインターフェースを備える従来の通信デバイス、デバイスインターフェースの間で単一のルートだけを提供する従来の通信ネットワーク、または複数のルートが使用可能な場合であっても単一のルートを使用するのみである通信デバイスのために最適化されている。さらに、宛先ハイブリッドデバイスによって使用されるいくつかの通信プロトコル（たとえば、ユーザデータグラムプロトコル（ＵＤＰ））が、内蔵パケットリオーダリング機構を備えない場合がある。ソースハイブリッドデバイスがルート変化を示すための、および／または宛先ハイブリッドデバイスが順序はずれパケットを管理するための、信頼できる機構の不在は、ハイブリッドデバイスの性能およびスループットを下げる可能性がある。
【００４４】
いくつかの実施形態では、ハイブリッドデバイスは、パケットルートの変化を検出し、順序はずれパケット到着を管理し、順序はずれパケットのリオーダリングを潜在的に実行する機構を実施することができる。一実施形態では、ソースハイブリッドデバイスは、古いパケットルートを介して送信されたパケットが、新しいパケットルートに沿って送信されたパケットが宛先ハイブリッドデバイスに到着する前に受信され、宛先ハイブリッドデバイスの上位処理層に供給されることを保証するために、新しいパケットルートに沿って送信されるパケットの送信を遅延させることができる。もう１つの実施形態では、ソースハイブリッドデバイスは、パケットルートの変化を示し、宛先ハイブリッドデバイスでリオーダリングを開始する（必要な場合に）ために、ルート終了インジケータおよびルート開始インジケータを送信することができる。もう１つの実施形態では、宛先ハイブリッドデバイスは、パケット到着インターフェース、パケットルートを示すヘッダ情報、パケットルートタグ付け、パケットシーケンス番号、パケットタイムスタンプ、および／またはパケットシグネチャ分析技法のうちの１つまたは複数に基づくパケットヘッダの分析に基づいて、ルート変化を自動的に検出することができる。下でさらに説明されるように、パケットルートの変化の表示および／またはパケットオーダリングのための上記および他の機構は、本明細書で説明されるように、ソースハイブリッドデバイスがパケットルートの変化を示すことを、および宛先ハイブリッドデバイスがハイブリッド通信ネットワーク内のパケットルート変化から生じる可能性がある順序はずれパケット到着を管理することを可能にすることができる。
【００４５】
図１は、ハイブリッド通信ネットワーク１００内のパケットルート変化を示す例の機構を示すブロック図である。ハイブリッド通信ネットワーク１００は、ハイブリッドデバイス１０２および１１０と、転送デバイス１２０および１２２とを備える。ハイブリッドデバイス１０２は、通信ユニット１０３を備える。通信ユニット１０３は、ルート選択ユニット１０４と、送信器処理ユニット１０６と、受信器リオーダリングユニット１０８とを備える。同様に、ハイブリッドデバイス１１０は、通信ユニット１１１を備える。通信ユニット１１１は、ルート選択ユニット１１２と、送信器処理ユニット１１４と、受信器リオーダリングユニット１１６とを備える。転送デバイス１２０および１２２は、従来の（レガシとも称する）通信デバイスまたはハイブリッド通信デバイスとすることができる。いくつかの実施態様では、ハイブリッドデバイス１０２および１１０は、それぞれがハイブリッドデバイスを異なる通信ネットワークセグメントに接続する複数のネットワークインターフェースを備えることができる。たとえば、ソースハイブリッドデバイス１０２および宛先ハイブリッドデバイス１１０は、それぞれ、ハイブリッドデバイスがそれぞれ電力線通信ネットワークセグメント、イーサネット、およびＷＬＡＮに接続することを可能にする３つのネットワークインターフェース（たとえば、電力線インターフェース、イーサネットインターフェース、およびＷＬＡＮインターフェース）を備えることができる。
【００４６】
一実施態様では、図２に示されているように、ハイブリッドデバイス１０２および１１０のネットワーキング機能性は、国際標準化機構（ＩＳＯ）開放型システム相互接続（ＯＳＩ）参照モデルと一貫する「階層化された」手法を使用して副機能に区分され得る。ネットワーキングプロトコル層のセットは、「プロトコルスタック」と称され得る。図２は、複数のネットワーキングインターフェースを実施するハイブリッドデバイス１０２の例のプロトコルスタックを示す。図２のプロトコルスタックは、ハイブリッドデバイス１０２に関して説明されるが、宛先ハイブリッドデバイス１１０が、図２に示されたものと同一の（または同様の）プロトコルスタックを実施することもできることに留意されたい。図２の例では、ハイブリッドデバイス１０２は、２つの通信インターフェースを含む。したがって、ハイブリッドデバイス１０２は、２つの物理（ＰＨＹ）層２０２および２０４と、２つの対応する媒体アクセス制御（ＭＡＣ）層２０６および２０８とを備える。ＭＡＣ層２０６およびＰＨＹ２０２層は、ハイブリッドデバイス１０２をある通信ネットワークセグメント２２２（たとえば、イーサネット）に結合する。同様に、ＭＡＣ層２０８およびＰＨＹ層２０４は、ハイブリッドデバイス１０２を別の通信ネットワークセグメント２２４（たとえば、電力線通信ネットワーク）に結合する。通信ネットワークセグメント２２２および２０４は、それぞれ、ハイブリッド通信ネットワークなどの拡張されブリッジングされたネットワークの一部とすることができることに留意されたい。ハイブリッドデバイス１０２は、ネットワーク層２１２を備える。ネットワーク層２１２は、インターネットプロトコルバージョン４（ＩＰｖ４）通信プロトコル、インターネットプロトコルバージョン６（ＩＰｖ６）通信プロトコル、ＡｐｐｌｅＴａｌｋ（登録商標）通信プロトコル、または他の適切なネットワーク層プロトコルを実施することができる。ソースハイブリッドデバイス１０２は、ネットワーク層２１２とＭＡＣ層２０６および２０８との間で「ハイブリッドアダプテーション層」２１０をも実施する。一例では、図２に示されているように、ハイブリッドアダプテーション層２１０は、ルート選択ユニット１０４と、送信器処理ユニット１０６と、受信器リオーダリングユニット１０８と、パケットルートの変化を示し、順序はずれパケットをリオーダリングするための他の機能性（下で図１および３〜５を参照してさらに説明される）とを備えることができる。ハイブリッドデバイス１０２は、ネットワーク層２１２にまたがって動作するトランスポート層２１２をも備える。ハイブリッドデバイス１０２は、伝送制御プロトコル（ＴＣＰ）、ユーザデータグラムプロトコル（ＵＤＰ）、またはハイブリッドデバイス１０２によって実施されるネットワーク層プロトコルに依存する他の適切なトランスポート層プロトコルを実施することができる。ハイブリッドデバイス１０２は、他のデバイスとの通信のためにプロトコルスタックを利用する３つのアプリケーション２１６と、２１８と、２２０とをも備える。
【００４７】
いくつかの実施態様では、アプリケーション層（アプリケーション２１６と２１８と２２０とを備える）、トランスポート層２１４、およびネットワーク層２１２は、集合的に「上位プロトコル層」と称され得る。ＭＡＣ層２０６および２０８とＰＨＹ層２０２および２０４とは、集合的に「下位プロトコル層」と称され得る。ハイブリッドアダプテーション層２１０は、上位プロトコル層の単一のセット（たとえば、実施される上位層プロトコルタイプごとに単一のネットワーク層およびトランスポート層）を有するが、複数のネットワーキングインターフェース（たとえば、複数のＰＨＹ層およびＭＡＣ層）を有するハイブリッドデバイス１０２内のネットワーク通信を管理する機能性を実施することができる。一実施態様では、ハイブリッドアダプテーション層２１０は、ネットワーキングリソースを管理し、プロトコルスタックの上位層に透過的なすばやいパケットルート変化を行うために、基礎になるＭＡＣ層２０６および２０８とインターフェースすることができる。ハイブリッドアダプテーション層２１０は、ソースハイブリッドデバイス１０２が単一のＭＡＣ層および対応する単一のＰＨＹ層のみを備えるかのように上位プロトコル層が動作することを可能にすることもできる。図２に示されたプロトコルスタックが、ハイブリッドデバイス１０２および１１０のアーキテクチャの一実施形態を示すことに留意されたい。他の実施態様では、ハイブリッドデバイス１０２および１１０は、実施され得るネットワーキング技術およびオプションのプロトコルに応じて、他の適切な層または副層を備えることができる。たとえば、いくつかのネットワーキング技術は、ＭＡＣ層の上にイーサネットコンバージェンス層（Ethernet（登録商標） convergence layer）を実施することができる。もう１つの例として、いくつかのネットワーキング技術は、論理リンク制御（ＬＬＣ）プロトコル層を含むことができる。さらに、いくつかの実施態様では、１つまたは複数の他の副層は、図１および３〜６内の本明細書で説明される機能性を実行することができる。戻って図１を参照すると、いくつかの実施態様では、ハイブリッドデバイス１０２のハイブリッドアダプテーション層２１０は、下で図１のステージＡ〜Ｂで説明されるように、ハイブリッドデバイス１１０にパケットを送信するのに使用されるパケットルートの変化を管理する機能性を実施することができる。
【００４８】
ステージＡでは、ハイブリッドデバイス１０２（「ソースハイブリッドデバイス」）のルート選択ユニット１０４は、パケットストリームに関連するパケット、パケットストリームのセットに関連するパケット、または現在のパケットルート１２４を共有するパケットをハイブリッドデバイス１１０（「宛先ハイブリッドデバイス」）に送信するために、現在のパケットルート１２４を新しいパケットルート１２６に切り替えると決定する。いくつかの例では、パケットストリームは、同一のアプリケーションに関連し、同一の通信接続または通信セッションの一部であるデータを伝えるパケットのシーケンスを備えることができる。いくつかの実施態様では、ルート選択ユニット１０４は、ソースハイブリッドデバイス１０２のルート変化を制御することができる。たとえば、ルート選択ユニット１０４は、現在のパケットルートから切り替えるべきかどうか／いつ切り替えるべきか、および使用可能なパケットルートのうちのどれを新しいパケットルートとして選択すべきかを判定することができる。いくつかの実施態様では、ルート選択ユニット１０４は、現在のパケットルート１２４での性能劣化の検出に応答して、現在のパケットルート１２４から切り替えると決定することができる。もう１つの実施態様では、ルート選択ユニット１０４は、所定の時間間隔の後に、現在のパケットルート１２４から切り替えると決定することができる。図１の例に示されているように、ソースハイブリッドデバイス１０２と宛先ハイブリッドデバイス１１０との間には、２つの可能なパケットルート１２４および１２６（またはネットワークパス）がある場合がある。図１に示されているように、パケットルート１２４は、転送デバイス１２０を介するソースハイブリッドデバイス１０２から宛先ハイブリッドデバイス１１０へのパケットの送信を含むことができる。パケットルート１２６は、転送デバイス１２２を介するソースハイブリッドデバイス１０２から宛先ハイブリッドデバイス１１０へのパケットの送信を含むことができる。いくつかの実施態様では、図１に示されているように、パケットルート１２４および１２６は、ソースハイブリッドデバイス１０２から宛先ハイブリッドデバイス１１０にそのパケットをルーティングする転送デバイス（および他の中間通信デバイス）において異なる可能性がある。他の実施態様では、パケットルート１２４および１２６は、パケットがそこから送信されるネットワークインターフェース（「ソース通信インターフェース」）、パケットがそこで受信されるネットワークインターフェース（「宛先通信インターフェース」）、および／またはパケットがそれを介して送信される通信ネットワークにおいても異なる可能性がある。図１では、送信器処理ユニット１０６は、現在のパケットルート１２４に沿って宛先ハイブリッドデバイス１１０へのパケットの送信（転送デバイス１２０を介する）を開始することができる。ステージＡでは、送信器処理ユニット１０６は、同一のパケットストリーム（パケットストリームのセットまたは共通のルートを共有するようにプログラムされたパケット）に関連する後続パケットを宛先ハイブリッドデバイス１１０に送信するために、現在のパケットルート１２４から新しいパケットルート１２６に切り替えると決定する。
【００４９】
ステージＢでは、送信器処理ユニット１０６は、現在のパケットルート１２４から新しいパケットルート１２６への切替を示すために、１つまたは複数の暗黙のまたは明示的なルート変化インジケータを宛先ハイブリッドデバイス１１０に供給する。一実施態様では、送信器処理ユニット１０６は、現在のパケットルート１２４の終了を示すために現在のパケットルート１２４に沿ってルート終了インジケータを送信することができる。たとえば、送信器処理ユニット１０６は、現在のパケットルート１２４に沿った最後のデータ／制御パケットを送信した後に、ルート終了パケットを送信することができる。もう１つの例として、送信器処理ユニット１０６は、現在のパケットルート１２４に沿って送信される最後のデータ／制御パケットの一部としてルート終了タグを供給することができる。送信器処理ユニット１０６は、後続パケットが新しいパケットルート１２６を介して送信されることを示すために、新しいパケットルート１２６に沿ってルート開始インジケータを送信することもできる。たとえば、送信器処理ユニット１０６は、新しいパケットルート１２６に沿って最初のデータ／制御パケットを送信する前に、ルート開始パケットを送信することができる。もう１つの例として、送信器処理ユニット１０６は、新しいパケットルート１２６に沿って送信される最初のデータ／制御パケットの一部として、ルート開始タグを供給することができる。いくつかの実施態様では、ルート終了インジケータ（たとえば、ルート終了パケットまたはルート終了タグ）およびルート開始インジケータ（たとえば、ルート開始パケットまたはルート開始タグ）は、下でさらに説明されるように、パケットルートの変化を示すために、追加データがパケットに追加されるか、または追加データがパケット内で送信されるので、明示的なルート変化インジケータと考えられ得る。いくつかの実施態様では、パケット符号化は、パケットルートの変化を示すために、追加データがパケット内で送信され（またはパケットに追加され）ないので、暗黙のルート変化インジケータと考えられ得る。その代わりに、下でさらに説明されるように、パケット符号化の変化が、パケットルートの変化を暗黙のうちに暗示することができる。図３および４でさらに説明されるように、送信器処理ユニット１０６は、現在のパケットルート１２４から新しいパケットルート１２６への切替を明示的にまたは暗黙のうちにのいずれかで示す（たとえば、宛先ハイブリッドデバイス１１０に）ために、シーケンス番号の送信、パケットヘッダの変更などを含むさまざまな他の技法を使用することができる。ステージＣおよびＤでさらに説明されるように、宛先ハイブリッドデバイス１１０は、１つまたは複数のルート変化インジケータに少なくとも部分的に基づいて現在のパケットルート１２４から新しいパケットルート１２６への切替を検出することができ、パケットをリオーダリングすることができ（必要な場合に）、正しいシーケンスでパケットを処理することができる。
【００５０】
ステージＣでは、宛先ハイブリッドデバイス１１０の受信器リオーダリングユニット１１６は、１つまたは複数のルート変化インジケータの受信に基づいて、現在のパケットルート１２４から新しいパケットルート１２６への切替を検出することができる。一実施態様では、受信器リオーダリングユニット１１６は、１つまたは複数の明示的なルート変化インジケータの受信に基づいて、パケットルートの変化を検出することができる。たとえば、ルート終了インジケータ（たとえば、ルート終了パケット、ルート終了タグなど）の検出に応答して、受信器リオーダリングユニット１１６は、現在のパケットルート１２４が終了された（または終了される）と判定することができる。同様に、ルート開始インジケータ（たとえば、ルート開始パケット、ルート開始タグなど）の検出に応答して、受信器リオーダリングユニット１１６は、新しいパケットルート１２６が初期化され、後続パケットが新しいパケットルート１２６を介して受信されると判定することができる。他の実施態様では、明示的なルート変化インジケータ（たとえば、ルート終了インジケータおよび／またはルート開始インジケータ）が検出されない場合に、受信器リオーダリングユニット１１６は、パケットヘッダ内の変化（すなわち、暗黙のルート変化インジケータ）の検出に基づいて、パケットルートの変化を検出することができる。たとえば、受信器リオーダリングユニット１１６は、ソースＭＡＣアドレス（またはソース通信インターフェース）、宛先ＭＡＣアドレス（または宛先通信インターフェース）、パケット符号化、および／または受信されたパケットに関連する他のフィールドが、以前に受信されたパケットに関連する対応する情報と異なるかどうかを判定することができる。現在の受信されたパケットと以前に受信されたパケットとに関連するヘッダの間の相違は、現在のパケットルート１２４から新しいパケットルート１２６への切替を示すことができる。受信されたパケットに関連するパケットヘッダの分析に基づいて、受信器リオーダリングユニット１１６は、古いパケットルート１２４（以前は現在のパケットルート１２４と呼ばれた）または新しいパケットルート１２６のいずれかに関連するものとしてパケットを分類することができる。宛先ハイブリッドデバイス１１０は、受信されたパケットのどれが、特定のパケットストリーム（たとえば、特定のアプリケーションに関連する）、パケットストリームのセット、または共通のルートを共有するように構成されたパケットのセットに属するのかを判定し、それに応じて順序はずれパケット到着を管理するために、任意の適切な分類技法を使用することができる。図５でさらに説明されるように、受信器リオーダリングユニット１１６は、さまざまな他の技法を使用して、古いパケットルート１２４から新しいパケットルート１２６への切替を検出することができる。
【００５１】
ステージＤでは、受信器リオーダリングユニット１１６は、宛先ハイブリッドデバイス１１０による後続処理のためにパケットをリオーダリングすべきかどうかを判定する。図５でさらに説明されるように、受信器リオーダリングユニット１１６は、ソースハイブリッドデバイス１０２から受信されたパケットをリオーダリングすべきかどうかを判定するために、さまざまな技法を使用することができる。たとえば、受信器リオーダリングユニット１１６は、受信器リオーダリングユニット１１６が、古いパケットルート１２４に関連するルート終了インジケータを検出する前に、新しいパケットルート１２６に関連するルート開始インジケータを検出する場合に、パケットリオーダリング動作を実行すべきであると判定することができる。もう１つの例として、受信器リオーダリングユニット１１６は、受信器リオーダリングユニット１１６が、宛先ハイブリッドデバイス１１０での順序はずれパケット到着を検出する（たとえば、パケットに関連するシーケンス番号の読取に基づいて）場合に、パケットリオーダリング動作を実行すべきであると判定することができる。受信器リオーダリングユニット１１６は、パケットストリーム、パケットストリームのセット、または共通のルートを共有するように構成されたパケットのセットの配送（ソースハイブリッドデバイス１０２から宛先ハイブリッドデバイス１１０への）に関するルート変化から生じる順序はずれパケット到着を管理するために、さまざまな技法を実施することができる。受信器リオーダリングユニット１１６は、順序はずれパケットをリオーダリングバッファに一時的に格納することができ、宛先ハイブリッドデバイス１１０による後続処理のためにそれらのパケットを正しい順序で供給することができる。
【００５２】
図１には示されていないが、いくつかの実施態様で、ソースハイブリッドデバイス１０２が、現在のパケットルートの変化を示し、かつ／または宛先ハイブリッドデバイス１１０での正しいパケット順序を維持するために、時間遅延技法を使用できることに留意されたい。図３でさらに説明されるように、現在のパケットルート１２４に沿って最後のパケットを送信した後に、送信器処理ユニット１０６は、所定の時間間隔（「ルート変化待ち時間間隔」）だけ待つ（および、パケット送信を防ぐ）ことができる。ルート変化待ち時間間隔は、新しいパケットルート１２６を介してパケットを送信する前に、宛先ハイブリッドデバイス１１０が現在のパケットルート１２４に沿って送信されたパケットのすべてを受信することを保証するように選択され得る。ルート変化待ち時間間隔を実施することによって、ソースハイブリッドデバイス１０２は、宛先デバイスがパケットリオーダリング機能性を実施することに頼らずに、任意の適切な宛先デバイス（たとえば、従来のレガシ宛先デバイス、宛先ハイブリッドデバイス１１０など）が、共通パケットストリームに関連するパケットを正しい順序で受信できることを保証することを試みることができる。しかし、他の実施態様では、宛先ハイブリッドデバイス１１０は、時間遅延を検出することができ、それに応じてパケットルートの変化を判定することができる。宛先ハイブリッドデバイス１１０は、パケットルートの変化の検出に応答して、パケットリオーダリング機能性（たとえば、受信器リオーダリングユニット１１６）を使用可能にすることができる。
【００５３】
図３および図４に、宛先ハイブリッドデバイスとの通信のパケットルートの変化を示すソースハイブリッドデバイスの例の動作を示す流れ図（「フロー」）３００を示す。フロー３００は、図３のブロック３０２で開始される。
【００５４】
ブロック３０２では、ソースハイブリッドデバイスが、共通パケットストリームに関連するパケットを宛先ハイブリッドデバイスに送信するために、現在のパケットルートから新しいパケットルートに切り替えると決定する。いくつかの実施態様では、ソースハイブリッドデバイスは、パケットストリームのセットまたは共通のパケットルートを共有するように構成されたパケットのセットに関連するパケットを送信するために、現在のパケットルートから新しいパケットルートに切り替えると決定する。図１の例を参照すると、ソースハイブリッドデバイス１０２のルート選択ユニット１０４は、宛先ハイブリッドデバイス１１０と通信するために現在のパケットルート１２４から新しいパケットルート１２６に切り替えると決定することができる。ルート選択ユニット１０４は、現在のパケットルート１２４での性能劣化の検出に応答して、所定の時間間隔が経過した後に、新しいパケットルート１２６がよりよい性能特性を有することの検出に応答してなどで、現在のパケットルート１２４を変更すると決定することができる。フローは、ブロック３０４で継続する。
【００５５】
ブロック３０４では、宛先ハイブリッドデバイスによる順序付けられたパケット受信を可能にするために時間遅延機構を使用すべきかどうかを判定する。たとえば、ソースハイブリッドデバイス１０２の送信器処理ユニット１０６は、宛先ハイブリッドデバイス１１０による順序付けられたパケット受信のために時間遅延機構を使用すべきかどうかを判定することができる。いくつかの実施態様では、送信器処理ユニット１０６は、宛先デバイス１１０の処理能力に依存して、時間遅延機構を使用すると決定することができる。たとえば、送信器処理ユニット１０６は、宛先ハイブリッドデバイス１１０での順序付けられたパケット受信を可能にするために、時間遅延機構を使用すると決定することができる。もう１つの例として、送信器処理ユニット１０６は、宛先デバイス１１０が、順序はずれパケットを処理する機能性を使用可能にすることができるようにするために、パケットルートの変化について宛先ハイブリッドデバイス１１０に通知するために時間遅延機構を使用すると決定することができる。時間遅延機構を使用しなければならないと決定される場合には、フローは、ブロック３０６で継続する。そうでない場合には、フローは、図４の３１４で継続する。いくつかの実施態様で、ソースハイブリッドデバイス１０２が、時間遅延機構を実施すべきかどうかを判定（上でブロック３０４で説明されたように）しないものとすることができることに留意されたい。その代わりに、ソースハイブリッドデバイス１０２は、現在のパケットルートから新しいパケットルートへ切り替えることの決定に応答して、時間遅延機構を自動的に実施するようにプログラムされ得る。
【００５６】
ブロック３０６では、ルート変化待ち時間間隔が決定される。ルート変化待ち時間間隔は、その間にソースハイブリッドデバイス１０２が宛先ハイブリッドデバイス１１０にどのパケットをも送信してはならない、現在のパケットルート１２４を介する最後のパケットの送信と新しいパケットルートを介する最初のパケットの送信との間の時間持続期間である。一実施態様では、送信器処理ユニット１０６は、特定のパケットストリーム（またはパケットストリームのセットもしくは共通のパケットルートを共有するように構成されたパケットのセット）に関連するパケットがソースハイブリッドデバイス１０２から宛先ハイブリッドデバイス１１０へハイブリッド通信ネットワーク１００を介して配送されるのに必要な時間（すなわち、ラウンドトリップ時間間隔）を推定することができる。送信器処理ユニット１０６は、データパケットが宛先ハイブリッドデバイス１１０に送信される時から上位プロトコル層肯定応答パケットが宛先ハイブリッドデバイス１１０から受信される時までの時間として、ラウンドトリップ時間間隔を測定することができる。その後、送信器処理ユニット１０６は、ルート変化待ち時間間隔を決定するために、計算されたラウンドトリップ時間間隔を半分に除算することができる。もう１つの実施態様では、送信器処理ユニット１０６は、ハイブリッド通信ネットワーク１００内の１つまたは複数の他のネットワークデバイス（たとえば、レガシデバイス、ハイブリッドデバイスなど）から現在のパケットルート遅延の表示を受信することができ、それに応じてルート変化待ち時間間隔を計算することができる。いくつかの実施態様では、送信器処理ユニット１０６は、パケットが宛先ハイブリッドデバイス１１０で順序通りに到着することを保証するために、現在のパケットルート１２４に沿った推定されたパケット配送時間に基づいて、ルート変化待ち時間間隔を計算することができる。もう１つの実施態様では、送信器処理ユニット１０６は、ハイブリッド通信ネットワーク１００に関連する待ち時間の不確実性を考慮に入れるために、ルート変化待ち時間間隔にあるマージンを加算することができる。もう１つの実施態様では、送信器処理ユニット１０６は、新しいパケットルート１２６に関連するパケット配送時間を推定することができ、それに応じてルート変化待ち時間間隔を減らすことができる。この実施態様では、ルート変化待ち時間間隔は、古いパケットルート１２４に関連する待ち時間と新しいパケットルート１２６に関連する待ち時間との間の差として計算され得る。フローは、ブロック３０８で継続する。
【００５７】
ブロック３０８では、最後のパケットが、現在のパケットルートを介して宛先ハイブリッドデバイスに送信され、ルート変化待ち時間間隔が、開始される。たとえば、最後のパケットが現在のパケットルート１２４を介して送信されたことの判定に応答して、送信器処理ユニット１０６は、ルート変化待ち時間間隔を開始するためにタイマを開始することができる。送信器処理ユニット１０６は、ルート変化待ち時間間隔が実施されつつある間は、宛先ハイブリッドデバイス１１０にどのパケットをも送信してはならない。フローは、ブロック３１０で継続する。
【００５８】
ブロック３１０では、ルート変化待ち時間間隔が経過するかどうかが判定される。たとえば、送信器処理ユニット１０６は、ルート変化待ち時間間隔が経過するかどうかを判定することができる。いくつかの実施態様では、送信器処理ユニット１０６は、ルート変化待ち時間間隔が経過する時に、割込み（または別の適切なトリガ／インジケータ）を受け取ることができる。いくつかの実施態様では、ソースハイブリッドデバイス１０２は、ルート変化待ち時間間隔中に生成される、新しいパケットルート１２６を介して送信されるようにスケジューリングされたパケットを格納するために、送信パケットバッファを使用することができる。フローは、ブロック３１２で継続する。
【００５９】
ブロック３１２では、後続パケットが、新しいパケットルートを介して宛先ハイブリッドデバイスに送信される。ルート変化待ち時間間隔が経過した後に、送信器処理ユニット１０６は、新しいパケットルート１２６を介して宛先ハイブリッドデバイス１１０に後続パケットを送信することができる。ブロック３１２から、このフローは終了する。
【００６０】
図４のブロック３１４では、ソースハイブリッドデバイスが、現在のパケットルートの切替を示すために宛先ハイブリッドデバイスに１つまたは複数の明示的なルート変化インジケータを供給しなければならないかどうかが判定される。一例では、フロー３００は、時間遅延機構がソースハイブリッドデバイス１０２で使用されてはならないことの判定に応答して、図３のブロック３０４から図４のブロック３１４に移動する。ブロック３１４では、送信器処理ユニット１０６は、１つまたは複数の明示的なルート変化インジケータを宛先ハイブリッドデバイス１１０に供給しなければならないかどうかを判定することができる。宛先ハイブリッドデバイス１１０が、現在のパケットルートの切替について明示的に通知されなければならないことが判定される場合には、フローは、ブロック３１６で継続する。そうでない場合には、フローは、ブロック３１８で継続する。いくつかの実施態様で、送信器処理ユニット１０６は、パケットルートの変化の表示（たとえば、ルート終了インジケータおよび／またはルート開始インジケータ）を宛先ハイブリッドデバイス１１０に明示的に供給しないものとすることができることに留意されたい。その代わりに、送信器処理ユニット１０６は、単純に、パケットを宛先ハイブリッドデバイス１１０に送信することができる。送信器処理ユニット１０６は、パケットルートの変化を検出するために暗黙のルート変化インジケータを使用し、分析する（たとえば、パケットヘッダの分析に基づく）宛先ハイブリッドデバイス１１０に頼ることができる。たとえば、図５でさらに説明されるように、現在の送信されるパケットおよび以前に送信されたパケットに関連するソースＭＡＣアドレスの変化は、暗黙のルート変化インジケータとして働くことができる。いくつかの実施態様で、ソースハイブリッドデバイス１０２が、宛先ハイブリッドデバイス１１０に明示的なルート変化インジケータを供給すべきかどうかを判定（上でブロック３１４で説明されるように）しないものとすることができることに留意されたい。その代わりに、ソースハイブリッドデバイス１０２は、現在のパケットルート１２４から新しいパケットルート１２６への切替の判定に応答して、宛先ハイブリッドデバイス１１０に明示的なルート変化インジケータを供給する動作を自動的に実行するようにプログラムされ得る。
【００６１】
ブロック３１６では、ソースハイブリッドデバイスは、現在のパケットルートから新しいパケットルートへの切替を示すために、１つまたは複数の明示的なルート変化インジケータを宛先ハイブリッドデバイスに供給すると決定する。一例では、フロー３００は、宛先ハイブリッドデバイス１１０がパケットルートの変化について明示的に通知されなければならないことの判定に応答して、ブロック３１４からブロック３１６に移動する。送信器処理ユニット１０６は、下で説明されるように、現在のパケットルート１２４（以下では「古いパケットルート１２４」と呼ばれる）から新しいパケットルート１２６への切替を明示的に示すために、さまざまな技法を使用することができる。
【００６２】
一実施形態では、送信器処理ユニット１０６は、ソースハイブリッドデバイス１０２と宛先ハイブリッドデバイス１１０との間での古いパケットルート１２４の終了を示すために、古いパケットルート１２４を介してルート終了インジケータを供給することができる。たとえば、送信器処理ユニット１０６は、古いパケットルート１２４に沿った最後のパケット（たとえば、ストリーム、アプリケーション、ストリームのセット、または共通のルートを共有するように構成されたパケットのセットに関連する）を送信した直後に、古いパケットルート１２４に沿ってルート終了制御パケットを送信することができる。ルート終了制御パケットは、そのパケットルートが変更されようとしているストリーム（アプリケーション、ストリームのセット、または共通のルートを共有するように構成されたパケットのセット）および、オプションで、下で説明されるように、古いパケットルート１２４に沿って送信されたパケットと新しいパケットルート１２６に沿って送信されるパケットとの間でどのように区別すべきかを識別する分類情報を備えることができる。もう１つの例として、送信器処理ユニット１０６は、古いパケットルート１２４に沿って送信される最後のパケット内にルート終了タグを挿入することができる。ルート終了タグは、特殊な仮想ローカルエリアネットワーク（ＶＬＡＮ）タグの独自のコーディングを使用して、ＥｔｈｅｒＴｙｐｅタグを使用して、パケットヘッダ内の１つもしくは複数の事前に存在するフィールドを使用して、ヘッダに１つもしくは複数の余分なビットを追加することによって、または他の適切な機構を使用して示され得る。古いパケットルート１２４の終了を示すタグの値は、事前に決定され得、あるいは、ソースハイブリッドデバイス１０２と宛先ハイブリッドデバイス１１０との間でネゴシエートされ得る。いくつかの実施態様では、ルート終了タグは、古いパケットルート１２４が終了される前に古いパケットルート１２４を介して送信されるパケットの個数を示すカウンタを備えることができる。たとえば、このカウンタは、古いパケットルート１２４を介して送信される、それぞれ最後から３番目、最後から２番目、および最後のパケットを識別するために、「３」、「２」、および「１」の値を備えることができる。いくつかの実施態様では、送信器処理ユニット１０６は、宛先ハイブリッドデバイス１１０が少なくとも１つのルート終了パケットを受信する確率を改善するために、複数のルート終了パケットを送信することができる。同様に、送信器処理ユニット１０６は、宛先ハイブリッドデバイス１１０が少なくとも１つのルート終了タグを受信する確率を改善するために、古いパケットルート１２４を介して送信されるパケットの最後のセットのうちの複数でルート終了タグを送信することができる。
【００６３】
送信器処理ユニット１０６は、後続パケットが新しいパケットルート１２６に沿って送信されることを示すために、新しいパケットルート１２６を介してルート開始インジケータを供給することもできる。たとえば、送信器処理ユニット１０６は、新しいパケットルート１２６に沿って、１つもしくは複数のストリームまたは共通のルートを共有するパケットのセットに関連する最初のパケットを送信する前に、新しいパケットルート１２６に沿ってルート開始パケットを送信することができる。上で説明されるように、ルート開始パケットは、そのパケットルートが変更されようとしている１つもしくは複数のストリームまたは共通のルートを共有するパケットのセットおよび／あるいは古いパケットルート１２４に沿って送信されたパケットと新しいパケットルート１２６に沿って送信されるパケットとの間でどのように区別すべきかを識別するストリーム分類情報を備えることもできる。もう１つの例として、送信器処理ユニット１０６は、新しいパケットルート１２６に沿って送信される最初のデータパケット内にルート開始タグを挿入することができる。いくつかの実施態様では、ルート開始タグは、新しいパケットルート１２６を介して送信されたパケットの個数を示すカウンタを備えることができる。たとえば、このカウンタは、新しいパケットルート１２６を介して送信される、それぞれ最初の、２番目の、および３番目のパケットを識別するために、「１」、「２」、および「３」の値を備えることができる。いくつかの実施態様では、送信器処理ユニット１０６は、宛先ハイブリッドデバイス１１０が少なくとも１つのルート開始パケットを受信する確率を改善するために、複数のルート開始パケットを送信することができる（または、新しいパケットルート１２６を介して送信されるパケットの最初のセットのうちの１つまたは複数でルート開始タグを送信することができる）。
【００６４】
もう１つの実施形態では、送信器処理ユニット１０６は、古いパケットルート１２４および新しいパケットルート１２６を介して送信されるパケットのシーケンスを示すことができる。一実施態様では、送信器処理ユニット１０６は、パケットルートの変化の予想（または検出）に応答して、シーケンス番号（たとえば、ソースハイブリッドデバイス１０２の上位プロトコル層によって挿入されるシーケンス番号とは異なるものとすることができる）を挿入すると決定することができる。一実施態様では、送信器処理ユニット１０６は、パケットルートの変化を示すために予約された特殊なＶＬＡＮタグ符号化、所定のＥｔｈｅｒＴｙｐｅ値に基づく新しいタグ、パケットヘッダ内の未使用のパケットフィールド、ヘッダに追加される余分なビット、または他の適切な技法を使用して、１つまたは複数のパケットにシーケンス番号を挿入することができる。いくつかの実施態様では、パケットルートの保留中の切替の検出に応答して、送信器処理ユニット１０６は、古いパケットルート１２４を介して送信されるパケットの最後のセットのうちの１つまたは複数にシーケンス番号を挿入することができる。一例では、パケットの最後のセットは、新しいパケットルート１２６が選択されつつあり、かつ／またはセットアップされつつある間に送信される１つまたは複数のパケットを備えることができる。新しいパケットルートに切り替えた後に、送信器処理ユニット１０６は、新しいパケットルート１２６を介して送信されるパケットの最初のセットのうちの１つまたは複数にシーケンス番号を挿入することができる（たとえば、遷移期間が完了され、古いパケットルート１２４が完全に終了されるまで）。新しいパケットルート１２６を介して送信されるパケットの最初のセットに関連するシーケンス番号は、古いパケットルート１２４を介して送信されるパケットの最後のセットに関連するシーケンス番号に続くことができる。たとえば、古いパケットルート１２４を介して送信されるパケットの最後のセットが、シーケンス番号「１」、「２」、および「３」に関連付けられる場合に、新しいパケットルート１２６を介して送信されるパケットの最初のセットは、シーケンス番号「４」、「５」などに関連付けられ得る。いくつかの実施態様では、ルート変化は、古いパケットルート１２４の急激な障害に応答するものである場合があり、送信器処理ユニット１０６は、パケットルートの差し迫った変化を示すために古いパケットルート１２４を介して送信されるパケットにシーケンス番号を挿入できない可能性がある。この実施態様では、送信器処理ユニット１０６は、新しいパケットルート１２６に沿って送信される最初のパケットのうちの１つまたは複数にシーケンス番号を挿入することができる。シーケンス番号の存在は、パケットルートの変化を示す（たとえば、宛先ハイブリッドデバイス１１０に）ことができる。いくつかの実施態様では、シーケンス番号は、ルート変化ごとに０から始まるように同期化され得る。たとえば、新しいパケットルート１２６を介して送信される最初のパケットは、「０」のシーケンス番号を関連付けられ得、新しいパケットルート１２６を介して送信される２番目のパケットは、「１」のシーケンス番号を関連付けられ得、以下同様である。もう１つの実施態様では、ソースハイブリッドデバイス１０２および宛先ハイブリッドデバイス１１０は、シーケンス番号をネゴシエートし、同期化するために、１つまたは複数のメッセージを交換する（たとえば、ハンドシェーク機構を実行することによって）ことができる。さまざまな他のタイプのルート変化インジケータ（たとえば、タイムスタンプ）が、独立に、お互いに関連して、または上にリストされたルート変化インジケータに関連して使用され得ることに留意されたい。
【００６５】
ブロック３１８では、古いパケットルートを介して送信されたパケットが、新しいパケットルート上で複製されなければならないかどうかが判定される。たとえば、送信器処理ユニット１０６は、古いパケットルート１２４を介して送信された１つまたは複数のパケットが新しいパケットルート１２６を介して再送信され（たとえば、宛先ハイブリッドデバイス１１０へ）なければならないかどうかを判定することができる。古いパケットルートを介して送信されたパケットが新しいパケットルート上で複製されなければならないことが判定される場合には、フローは、ブロック３２０で継続する。そうではない場合には、フローは、ブロック３２２で継続する。ソースハイブリッドデバイス１０２が、古いパケットルートを介して送信されたが新しいパケットルート上で複製されなければならないかどうかを判定（上でブロック３１８で説明されるように）しないものとすることができることに留意されたい。その代わりに、いくつかの実施態様では、ソースハイブリッドデバイス１０２は、新しいパケットルートを介するパケットの送信のために、ブロック３２２の動作を自動的に実行するようにプログラムされ得る。他の実施態様では、ソースハイブリッドデバイス１０２は、古いパケットルートを介して送信された１つまたは複数のパケットを新しいパケットルート上で複製するためにブロック３２０の動作を自動的に実行するようにプログラムされ得る。
【００６６】
ブロック３２０では、以前に古いパケットルートを介して送信された１つまたは複数のパケットが、新しいパケットルート上で再送信される。一例では、フロー３００は、古いパケットルートを介して送信された１つまたは複数のパケットが新しいパケットルート上で複製されなければならないことが判定される場合に、ブロック３１８からブロック３２０に移動する。一例では、送信器処理ユニット１０６は、パケットが宛先ハイブリッドデバイス１１０に成功して配送される確率を改善するため、および／またはパケット配送待ち時間を減らすために、古いパケットルート１２４と新しいパケットルート１２６との両方に沿って同一のパケットのコピーを送信することによって、パケットの複製を送信することができる。パケットルートの変化は、通常、古いパケットルート１２４に関連する配送特性（たとえば、スループット、待ち時間、誤り率、信頼性など）の劣化に応答するものである。古いパケットルート１２４の劣化の影響は、１つまたは複数の複製パケット送信するようにソースハイブリッドデバイス１０２を構成することによって軽減され得る。いくつかの実施態様では、送信器処理ユニット１０６は、古いパケットルート１２４を介して送信された最後のパケットを再送信するのみ（新しいパケットルート１２６上で）とすることができる。もう１つの実施態様では、送信器処理ユニット１０６は、宛先ハイブリッドデバイス１１０によって肯定応答されていない古いパケットルート１２４上で以前に送信されたすべてのパケットを再送信する（新しいパケットルート１２６上で）ことができる。もう１つの実施態様では、送信器処理ユニット１０６は、新しいパケットルート１２６に沿って任意の適切な個数のパケット（古いパケットルート１２４を介して以前に送信された）を再送信することができる。宛先ハイブリッドデバイス１１０は、複製パケットを検出し、破棄することができる（下でさらに説明されるように）。フローは、ブロック３２２で継続する。
【００６７】
ブロック３２２では、後続パケットが、新しいパケットルートを介して宛先ハイブリッドデバイスに送信される。たとえば、送信器処理ユニット１０６は、新しいパケットルート１２６を介して宛先ハイブリッドデバイス１１０に後続パケットを送信することができる。ブロック３２２から、フローは終了する。
【００６８】
図４は、現在のパケットルートの切替について宛先ハイブリッドデバイスに明示的に通知するかどうか（ブロック３１４）および新しいパケットルートを介して１つまたは複数のパケットを再送信するかどうか（ブロック３２０）を判定するために順次動作を実行するソースハイブリッドデバイス１０２を示すが、実施形態がこれに限定されないことに留意されたい。他の実施形態では、上でブロック３１４および３２０で説明された判断動作が、並列に、異なる順序で実行され得、判断動作（上でブロック３１４および３２０で説明された）のうちの１つまたは複数が、実行されないものとされ得るなどである。いくつかの実施態様では、送信器処理ユニット１０６は、パケットルートの変化を示す技法の組合せを実行することができる。たとえば、送信器処理ユニット１０６は、１つまたは複数のパケット内でシーケンス番号を送信することができ、新しいパケットルート上でその１つまたは複数のパケット（シーケンス番号を含む）を複製することもできる。宛先ハイブリッドデバイス１１０は、シーケンス番号に基づいて複製パケットを検出することができる。もう１つの例として、送信器処理ユニット１０６は、古いパケットルート１２４を介して以前に送信されたパケットを再送信（新しいパケットルート１２６を介して）しないものとすることができる。その代わりに、送信器処理ユニット１０６は、古いパケットルート上および新しいパケットルート上で送信される１つまたは複数のパケットにシーケンス番号を挿入することができ（上で説明されるように）、送信されたパケットの省略を検出し、示す（たとえば、非順次番号を有するパケットを検出することによって）のに宛先ハイブリッドデバイス１１０に頼ることができる。
【００６９】
図５は、ソースハイブリッドデバイスと宛先ハイブリッドデバイスとの間のパケットルートの変化を検出する宛先ハイブリッドデバイスの例の動作を示す流れ図５００である。フロー５００は、図５のブロック５０２で開始される。
【００７０】
ブロック５０２では、宛先ハイブリッドデバイスが、ソースハイブリッドデバイスによって送信されたパケットを受信する。図１の例を参照すると、宛先ハイブリッドデバイス１１０の受信器リオーダリングユニット１１６が、ソースハイブリッドデバイス１０２によって送信されたパケットを受信することができる。フローは、ブロック５０４で継続する。
【００７１】
ブロック５０４では、明示的なルート変化インジケータが宛先ハイブリッドデバイス１１０で受信されたかどうかが判定される。たとえば、受信器リオーダリングユニット１１６は、１つまたは複数の明示的なルート変化インジケータがソースハイブリッドデバイス１０２から受信されたかどうかを判定することができる。受信器リオーダリングユニット１１６は、ルート終了パケット、ルート終了タグ、および／または他の適切なルート終了インジケータ（１つまたは複数）が宛先ハイブリッドデバイス１１０で検出されたかどうかを判定することができる。ルート終了インジケータの検出は、ソースハイブリッドデバイス１０２と宛先ハイブリッドデバイス１１０との間の現在のパケットルート１２４が終了されることを示すことができる。受信器リオーダリングユニット１１６は、ルート開始パケット、ルート開始タグ、および／または他のルート開始インジケータ（１つまたは複数）が新しいパケットルート１２６上で検出されたかどうかを判定することもできる。ルート開始インジケータの検出は、ソースハイブリッドデバイス１０２からの後続パケットが新しいパケットルート１２６に沿って受信されることを示すことができる。さらに、上で説明されるように、受信器リオーダリングユニット１１６は、１つまたは複数の他の明示的なルート変化インジケータ（たとえば、特殊なＶＬＡＮタグ）が検出されたかどうかを判定することもできる。１つまたは複数の明示的なルート変化インジケータが受信されたことが判定される場合には、フローは、ブロック５１２で継続する。そうではない場合には、フローは、ブロック５０６で継続する。
【００７２】
ブロック５０６では、受信されたパケットに関連するパケットヘッダの変化が検出されたかどうかが判定される。フローは、１つまたは複数の明示的なルート変化インジケータが宛先ハイブリッドデバイス１１０で受診されなかった場合にブロック５０４からブロック５０６に移動する。一実施形態では、受信器リオーダリングユニット１１６は、受信されたパケットをストリームにソートするために、パケット分類技法（たとえば、受信されたパケットに関連するヘッダ内の１つまたは複数のフィールドに基づく）を使用することができる。受信器リオーダリングユニット１１６は、同一のパケットストリーム（たとえば、同一のアプリケーションから発する）、パケットストリームのセット、または共通のルートを共有するように構成されたパケットに属する受信されたパケットに関連するヘッダの変化の検出に基づいて、パケットルートの変化を自動的に検出することができる。受信器リオーダリングユニット１１６は、同一のパケットストリーム、パケットストリームのセット、または共通のルートを共有するように構成されたパケットに属するパケットが異なるネットワークインターフェース上で受信されたことの判定に基づいて、パケットルートの変化を自動的に検出することもできる。
【００７３】
いくつかの実施態様では、受信器リオーダリングユニット１１６は、古いパケットルート１２４と新しいパケットルート１２６とに関連するパケットヘッダの間の相違の検出に基づいて、古いパケットルート１２４と新しいパケットルート１２６とを介して受信されたパケットの間で区別することができる。たとえば、古いパケットルート１２４および新しいパケットルート１２６は、異なるソース通信インターフェースに対応することができる。したがって、受信されたパケットのＭＡＣソースアドレスフィードの読取に基づいて、受信器リオーダリングユニット１１６は、パケットルートの変化を検出することができ、パケットが古いパケットルート１２４または新しいパケットルート１２６のどちらを介して受信されたのかを判定することができる。受信器リオーダリングユニット１１６が、古いパケットルート１２４および新しいパケットルート１２６を介して送信されたパケットの間で区別するのに、他のアドレッシングの相違およびパケットヘッダの相違を使用することができることに留意されたい。たとえば、受信器リオーダリングユニット１１６は、古いパケットルート１２４および新しいパケットルート１２６上で実施される通信プロトコルの相違を検出することができる（たとえば、基礎になるプロトコル層によって使用され得るＶＬＡＮ識別子または他のストリーム識別子の相違に基づいて）。もう１つの例として、受信器リオーダリングユニット１１６は、パケットが異なる転送デバイスによってルーティングされたかどうか（すなわち、パケットが、異なるパケットルートを介して受信されたかどうか）を判定するために、中間の転送デバイスに関連するパケットヘッダフィールドを使用することができる。もう１つの例として、受信器リオーダリングユニット１１６は、受信されたパケットヘッダに挿入された新しいビット（またはフィールド）、受信されたパケットヘッダから除去されたビット（またはフィールド）、異なるヘッダフォーマット、異なるヘッダ符号化、およびパケットヘッダ特性の他の相違の検出に基づいて、パケットヘッダの変化を検出することができる。受信されたパケットに関連するパケットヘッダの変化が検出されたことが判定される場合には、フローは、ブロック５０８で継続する。そうでない場合には、フローは、ブロック５１０で継続する。
【００７４】
ブロック５０８では、宛先ハイブリッドデバイスが、パケットが新しいパケットルートを介してソースハイブリッドデバイスから受信されたと判定する。一例では、受信器リオーダリングユニット１１６は、受信されたパケットに関連するパケットヘッダの変化が検出されたことの判定（ブロック５０６での）に応答して、パケットが新しいパケットルート１２６を介してソースハイブリッドデバイス１０２から受信されたと判定することができる。フローは、ブロック５１２で継続する。
【００７５】
ブロック５１０では、宛先ハイブリッドデバイスが、パケットが古いパケットルートを介してソースハイブリッドデバイスから受信されたと判定する。一例では、受信器リオーダリングユニット１１６は、受信されたパケットに関連するパケットヘッダの変化が検出されないこと（ブロック５０６での）に応答して、パケットが古いパケットルート１２４を介してソースハイブリッドデバイス１０２から受信されたと判定することができる。フローは、ブロック５１２で継続する。
【００７６】
ブロック５１２では、順序はずれパケット配送が、宛先ハイブリッドデバイスで検出されたかどうかが判定される。受信器リオーダリングユニット１１６が、ソースハイブリッドデバイス１０２によって送信された１つまたは複数の明示的なルート変化インジケータを検出する場合には、フローは、ブロック５０４からブロック５１２に移動する。フロー５００は、受信器リオーダリングユニット１１６が、パケットが古いパケットルート１２４または新しいパケットルート１２６を介して受信されたかどうかを判定した後にも、ブロック５０８およびブロック５１０から移動する。一例では、受信器リオーダリングユニット１１６は、ルート終了インジケータを古いパケットルート１２４上で検出する前に、ルート開始インジケータが新しいパケットルート１２６上で検出されたかどうかを判定することができる。そうである場合には、受信器リオーダリングユニット１１６は、パケットルートの変化（ソースハイブリッドデバイス１０２での）が、宛先ハイブリッドデバイス１１０での順序はずれパケット到着をもたらした（たとえば、古いパケットルートおよび新しいパケットルートに関連する待ち時間の相違のゆえに）と判定することができる。もう１つの例として、ルート終了インジケータがルート開始インジケータの前に受信されたことの判定に応答して、受信器リオーダリングユニット１１６は、パケットルートの変化が、宛先ハイブリッドデバイス１１０での順序はずれパケット到着をもたらさなかったと判定することができる。その結果、受信器リオーダリングユニット１１６は、パケットリオーダリング動作を開始しないものとすることができ、したがって、プロセッサリソースおよびリオーダリングバッファリソースを不必要に消費することを回避することができる。その代わりに、受信器リオーダリングユニット１１６は、ルート終了インジケータおよびルート開始インジケータを破棄することができ、その後に受信されたパケットを、それらが受信された順序で上位プロトコル層に供給する（処理のために）ことができる。もう１つの例として、受信器リオーダリングユニット１１６は、第１のパケットヘッダを備える１つまたは複数のパケット（古いパケットルート１２４に関連する）が、第２のパケットヘッダを備える１つまたは複数のパケット（新しいパケットルート１２６に関連する）の後に受信されたかどうかを判定することができる。そうである場合には、受信器リオーダリングユニット１１６は、ブロック５１４で説明されるように、パケットリオーダリング動作を開始すると決定することができる。順序はずれパケット配送が宛先ハイブリッドデバイスで検出されたことが判定される場合には、フローは、ブロック５１４で継続する。そうでない場合には、フローは、ブロック５１６で継続する。
【００７７】
ブロック５１４では、パケットリオーダリング機構が、順序はずれパケットをリオーダリングするために宛先ハイブリッドデバイスで開始される。たとえば、宛先ハイブリッドデバイス１１０での潜在的な順序はずれパケット到着の判定に応答して、受信器リオーダリングユニット１１６は、古いパケットルート１２４を介して受信されたパケットが上位プロトコル層に供給された後に限って、新しいパケットルート１２６を介して受信されたパケットが上位プロトコル層に供給されることを保証するために、その後に受信されるパケットをリオーダリングする動作を開始することができる。宛先ハイブリッドデバイス１１０での順序はずれパケット到着の判定に応答して、受信器リオーダリングユニット１１６は、順序はずれパケット（たとえば、シーケンス順で次ではないパケット）をリオーダリングバッファに一時的に格納することができる。受信器リオーダリングユニット１１６は、受信されたパケットが上位プロトコル層による（たとえば、ネットワーク層２１２、トランスポート層２１４、およびアプリケーション２１６による）後続処理のために供給されなければならない正しい順序を判定し、その結果、パケットがリオーダリングバッファから解放されなければならない順序を判定するために、さまざまな技法を使用することができる。一実施形態では、新しいパケットルート１２６および古いパケットルート１２４が、異なる宛先通信インターフェースに関連する場合に、受信器リオーダリングユニット１１６は、新しいパケットルート１２６に関連する宛先通信インターフェース上で受信されるすべてのパケットを格納する（リオーダリングバッファに）ことができる。もう１つの実施形態では、ルート開始インジケータが、ルート終了インジケータの前に受信される場合に、受信器リオーダリングユニット１１６は、ルート開始インジケータの後であるがルート終了インジケータの前に受信される（新しいパケットルート１２６上で）すべてのパケットを格納することができる。もう１つの実施態様では、受信器リオーダリングユニット１１６は、パケットがソースハイブリッドデバイス１０２によって送信された順序を判定し、その結果、パケットが処理されなければならない順序を判定するために、上位プロトコル層によって挿入されるパケットシーケンス識別子（たとえば、シーケンス番号、タイムスタンプなど）を使用することができる。たとえば、ソースハイブリッドデバイス１０２のＴＣＰ層２１４は、各パケットに３２ビットシーケンス番号を挿入することができる（送信の前に）。受信器リオーダリングユニット１１６は、受信されたパケットの正しい順序を確立するために、着信パケットのそれぞれに関連するシーケンス番号を読み取ることができる（たとえば、ソースハイブリッドデバイス１０２の上位プロトコル層によって受信されたパケット内に挿入されたヘッダおよび他の情報を分析するパケットインスペクション機構を使用して）。期待されるシーケンス番号（受信されたシーケンス内の最後のパケットに基づいて）より大きいシーケンス番号を有するパケットが、宛先ハイブリッドデバイス１１０で受信される場合には、その受信されたパケットおよびすべての後続の受信されるパケットは、シーケンス内の次のパケットが受信されるまで、リオーダリングバッファに格納され得る。もう１つの実施態様では、受信器リオーダリングユニット１１６は、リオーダリングが、パケットが宛先ハイブリッドデバイス１１０によって処理されなければならない順序を確立するために、送信器処理ユニット１０６によって挿入された（パケットルート変化の変化を明示的に示すために）余分なシーケンス識別子を使用することができる。その後、フローは、ブロック５１６で継続する。
【００７８】
ブロック５１６では、宛先ハイブリッドデバイスが、後続処理のためにパケットを供給すべきかどうかを判定する。たとえば、受信器リオーダリングユニット１１６は、リオーダリングバッファ内のパケットが、宛先ハイブリッドデバイス１１０の上位プロトコル層による後続処理のために供給されなければならないかどうかを判定することができる。リオーダリングバッファを維持する際に、宛先ハイブリッドデバイス１１０は、新しいパケットルート１２６を介して受信されたパケットを解放する前に、古いパケットルート１２４を介して受信されたパケットを解放する（後続処理のために）ことを試みることができる。いくつかの実施態様では、受信器リオーダリングユニット１１６は、ルート終了インジケータが受信されるまで、リオーダリング動作を実行することができる。いくつかの実施態様では、受信器リオーダリングユニット１１６は、古いパケットルート１２４に関連する最後のパケットが受信された後に、パケットリオーダリング動作を一時停止することができる。受信器リオーダリングユニット１１６は、ルート終了インジケータの受信に応答して、リオーダリングバッファ内のパケットを正しい順序で上位プロトコル層に供給することができる。いくつかの実施態様では、宛先ハイブリッドデバイス１１０が捨てられ／破棄されたパケットの受信をいつまでも待たないように（または過剰なパケット配送遅延に対して）保護するために、宛先ハイブリッドデバイス１１０は、所定のバッファ時間間隔が経過した後にリオーダバッファからパケットを解放するために、タイムアウト機構を使用することができる。所定のバッファ時間間隔は、期待されるラウンドトリップ肯定応答時間および再送信遅延に少なくとも部分的に基づいて決定され得る。一実施態様では、宛先ハイブリッドデバイス１１０が、所定のバッファ時間間隔以内にシーケンス内のパケットを受信できない場合には、宛先ハイブリッドデバイス１１０は、再送信が失敗したと判定し、パケットが配送されないと判定することができ、失敗したパケットより大きいシーケンス番号を有するパケットを、リオーダリングバッファから解放することができる。受信器リオーダリングユニット１１６が、所定のバッファ時間間隔が経過した後に、パケットリオーダリング動作を一時停止することもできることに留意されたい。もう１つの実施態様では、宛先ハイブリッドデバイス１１０は、リオーダリングバッファが満杯になるかしきいレベルを超える時に、後続処理のためにパケットを解放することができる。いくつかの実施態様では、欠けているパケットは、所定のバッファ時間間隔が経過した後に受信される場合に、破棄され得る。いくつかの実施態様では、受信器リオーダリングユニット１１６は、後続処理のために供給される（たとえば、上位プロトコル層へ）シーケンス内の最後のパケットに関連するパケット識別子を記録することができる。受信器リオーダリングユニット１１６は、解放されたパケットよりシーケンス内でより前にあるパケット識別子に関連する、その後に受信されるパケットを破棄することができる。いくつかの実施態様では、受信器リオーダリングユニット１１６は、肯定応答パケットを観察することによって、および／または到着タイミング、到着インターフェース、ルートを示すヘッダ、もしくは他のパケットヘッダフィールドによって再送信を推論することによって、再送信されたパケットを検出することができる。実施態様に応じて、受信器リオーダリングユニット１１６は、後続処理のために、再送信されたパケットを供給してもしなくてもよい。パケットが後続処理のために供給されなければならないことが判定される場合には、フローは、ブロック５１８で継続する。そうではない場合には、フローは終了する。
【００７９】
ブロック５１８では、パケットが、宛先ハイブリッドデバイス１１０による処理のために、適当なシーケンスで供給される。たとえば、受信器リオーダリングユニット１１６は、宛先ハイブリッドデバイス１１０の上位プロトコル層による処理のために、パケットを適当なシーケンスで供給することができる。ブロック５１８から、フローは終了する。
【００８０】
図１〜５が、実施形態の理解を助けることを意図された例であって、実施形態を限定しまたは特許請求の範囲の範囲を限定するのに使用されてはならないことを理解されたい。実施形態は、追加の動作を実行し、より少数の動作を実行し、動作を異なる順序で実行し、動作を並列に実行し、いくつかの動作を異なって実行することができる。たとえば、いくつかの実施態様では、ソースハイブリッドデバイス１０２は、ルート変化インジケータ（たとえば、ルート終了パケット、ルート開始パケット、ルート終了タグを備える制御／データパケット、ルート開始タグを備える制御／データパケットなど）に対する肯定応答（たとえば、宛先ハイブリッドデバイス１１０からの）を待つように構成され得る。ソースハイブリッドデバイス１０２は、肯定応答が受信されるまで、または所定の時間間隔が経過するまで、ルート変化インジケータを再送信することができる。ソースハイブリッドデバイス１０２は、ルート変化インジケータが肯定応答されるまで、新しいパケットルート１２６を介してパケットを送信しないものとすることができる。しかし、他の実施態様では、ソースハイブリッドデバイス１０２は、宛先ハイブリッドデバイス１１０からの肯定応答を待たないものとすることができる。その代わりに、ソースハイブリッドデバイス１０２は、ルート変化インジケータを送信した後、肯定応答を待たずに、新しいパケットルート１２６を介してパケットを送信することができる。
【００８１】
いくつかの実施態様では、ソースハイブリッドデバイス１０２は、パケット識別子の表示またはパケット分類情報と、パケットがソースハイブリッドデバイス１０２によって送信された順序とを送信することができる。宛先ハイブリッドデバイス１１０は、パケットが編成され、処理されなければならない正しい順序を判定するために、このパケット順序情報を使用することができる。ソースハイブリッドデバイス１０２は、ルート終了パケット、ルート開始パケット、または別々の制御パケット内でパケット順序情報を送信することができる。
【００８２】
いくつかの実施態様で、送信器処理ユニット１０６は、パケットルートの変化を示すために、２つの特殊なルートタグ（たとえば、タグＡおよびタグＢ）を使用できることに留意されたい。送信器処理ユニット１０６は、パケットがそれに沿って送信されるルートに依存して、タグＡとタグＢとの間で切り替えることができる。たとえば、ルート選択ユニット１０４は、第１のパケットルートを選択することができ、ソースハイブリッドデバイス１０２は、タグＡを含むパケットを第１のパケットルートに沿って宛先ハイブリッドデバイス１１０に送信することができる。第１のパケットルートから第２のパケットルートへの切替に応答して、ソースハイブリッドデバイス１０２は、第２のパケットルートに沿って、タグＢを含むパケットを送信することができる。その後、ソースハイブリッドデバイス１０２が、第２のパケットルートから第３のパケットルートに切り替える場合には、ソースハイブリッドデバイス１０２は、第３のパケットルートに沿ってパケット（タグＡを含む）を送信するのに、タグＡをもう一度使用することができる。パケットに関連するタグの切替は、ソースハイブリッドデバイス１０２と宛先ハイブリッドデバイス１１０との間のパケットルートの対応する切替を示すことができる。もう１つの実施態様では、ソースハイブリッドデバイス１０２は、新しいパケットルート１２６に沿って送信される１つまたは複数のパケットに（たとえば、所定の個数のパケットにまたは所定の時間間隔中に送信されるパケットに）「新しいルート」タグを挿入することができる。パケットの所定の個数および所定の時間間隔は、古いパケットルート１２４と新しいパケットルート１２６との間の待ち時間に少なくとも部分的に基づいて決定され得る。上で説明したように、タグは、所定のＶＬＡＮタグ符号化を使用して、ＶＬＡＮタグ内の１つまたは複数の所定のビットを使用して、ＥｔｈｅｒＴｙｐｅタグを使用して、他の既存の未使用のパケットフィールドを使用して、１つまたは複数の余分なビットを使用して、または他の適切な機構を使用して、示され得る。たとえば、送信器処理ユニット１０６は、２つの異なるタグ符号化を使用することができ、パケットルートが変更される時にタグ符号化の間で切り替えることができる。タグ符号化は、パケットルートを介して送信されるすべてのパケット内で、またはパケットルートに沿って送信されるパケットのサブセット内で、使用され得る。上で図５で説明されるように、新しいパケットルートに沿って配送されるパケットをマークすることは、宛先ハイブリッドデバイス１１０が、これらのパケットを識別し、古いパケットルート１２４に沿って配送されるすべてのパケットが上位プロトコル層に供給され終わるまで、新しいパケットルート１２６上で受信されるパケットをリオーダリングバッファ内に一時的に格納することを可能にすることができる。
【００８３】
図３は、時間遅延機構とルート変化インジケータの送信とを、相互に排他的な動作として示すが、実施形態は、これに限定されない。他の実施形態では、ソースハイブリッドデバイス１０２は、時間遅延機構を使用して、古いパケットルート１２４と新しいパケットルート１２６との間の正しい遷移を保証することを試みることができ、１つまたは複数のルート変化インジケータを宛先ハイブリッドデバイス１１０に供給することができる。たとえば、新しいパケットルート１２６に切り替えると決定する時に、ソースハイブリッドデバイス１０２は、古いパケットルート１２４に沿ってルート終了パケットを送信することができる。ソースハイブリッドデバイス１０２は、その後、ルート変化待ち時間間隔を開始し、実施することができる。ルート変化待ち時間間隔が経過した後に、ソースハイブリッドデバイス１０２は、新しいパケットルート１２６に沿ってルート開始パケットを送信することができる。
【００８４】
図５は、順序はずれパケット配送の検出に応答して宛先ハイブリッドデバイス１１０がパケットをリオーダリングすることを説明するが、実施形態はこれに限定されない。いくつかの実施形態では、上位プロトコル層への順序通りのパケット配送が、宛先ハイブリッドデバイス１１０で必要ではないか有用ではない場合がある（たとえば、使用される通信プロトコル、パケットの宛先のアプリケーション、および他のそのような要因に依存して）。いくつかの実施態様では、順序はずれパケット配送が宛先ハイブリッドデバイス１１０で検出されたかどうかを判定する（図５のブロック５１２で）前に、宛先ハイブリッドデバイス１１０の上位プロトコル層へのパケットの順序通りの配送が必要または有用であるかどうかが、判定され得る。
【００８５】
図には記載されていないが、宛先ハイブリッドデバイス１１０は、ソースハイブリッドデバイス１０２から受信された複製パケットを検出し、破棄する機能性を実施することができる。いくつかの実施態様では、複製パケット検出は、ソースハイブリッドデバイス１０２の送信器処理ユニット１０６（または上位プロトコル層）によってパケットに挿入されたパケットシーケンス番号またはパケットタイムスタンプ（たとえば、複製パケットが、同一のタイムスタンプを割り当てられる場合）を使用して実行され得る。もう１つの実施態様では、パケットシグネチャ分析技法が、複製パケットを検出するのに使用され得る。たとえば、巡回冗長検査（ＣＲＣ）計算方法（または、パケットルートとは独立の別の適切な計算方法）が、パケットシグネチャ（たとえば、ＣＲＣ値）を生成するのに使用され得る。宛先ハイブリッドデバイス１１０が、同一のパケットシグネチャを有する２つのパケットを検出する場合に、これは、２つの検出されたパケットがお互いの複製であることを示すことができる。宛先ハイブリッドデバイス１１０は、最近に受信されたパケットに関連するパケットシグネチャの記録を維持することができ、複製パケットを検出し、破棄するのに、受信されたパケットシグネチャのこの記録を使用することができる。
【００８６】
いくつかの実施態様では、ソースハイブリッドデバイス１０２および宛先ハイブリッドデバイス１１０によって使用される通信プロトコルが複数の再送信の試みをサポートする場合に、ルート変化待ち時間間隔および／または所定のバッファ時間間隔が、複数のラウンドトリップ遅延に少なくとも部分的に基づいて決定され得ることに留意されたい。いくつかの実施態様では、ルート変化待ち時間間隔、所定のバッファ時間間隔、および／またはリオーダリングバッファのサイズは、ラウンドトリップ遅延、シーケンス内の最後のパケットの受信と順序はずれパケットの受信との間の最大の遅延、再送信遅延、ハイブリッド通信ネットワーク内の期待される遅延、および再送信を待って累積され得るデータの最大量に少なくとも部分的に基づいて、動的に（または静的に）構成され得る。
【００８７】
最後に、宛先ハイブリッドデバイス１１０が、上位プロトコル層にルート変化インジケータを提供しないものとすることができることに留意されたい。たとえば、宛先ハイブリッドデバイス１１０は、ルート終了パケットおよびルート開始パケットを破棄することができ、他の制御／データパケットだけを後続処理のために上位プロトコル層に供給することができる。もう１つの例として、宛先ハイブリッドデバイス１１０は、受信されたパケットを処理のために上位プロトコル層に供給する前に、パケットルートの変化を明示的に示すためにソースハイブリッドデバイス１０２によって挿入されたすべての情報（たとえば、ルート終了タグ、ルート開始タグなど）を、受信されたパケットから除去することができる。
【００８８】
実施形態は、すべてが全般的に本明細書で「回路」、「モジュール」、もしくは「システム」と呼ばれる可能性がある、完全にハードウェアの実施形態、完全にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）、またはソフトウェア態様とハードウェア態様とを組み合わせる実施形態の形をとることができる。さらに、本主題の実施形態は、媒体内で実施されたコンピュータ使用可能プログラムコードを有する表現の任意の有形の媒体内で実施されるコンピュータプログラム製品の形をとることができる。説明された実施形態は、すべての考えられる変形形態が本明細書で列挙されるわけではないので、本明細書で説明されるか否かにかかわりなく、実施形態によるプロセスを実行するためにコンピュータシステム（または他の電子デバイス（１つまたは複数））をプログラムするのに使用され得る命令をその上に格納された機械可読媒体を含むことができるコンピュータプログラム製品またはソフトウェアとして提供され得る。機械可読媒体は、機械（たとえば、コンピュータ）によって可読の形で情報（たとえば、ソフトウェア、処理アプリケーション）を格納しまたは送信する任意の機構を含む。機械可読媒体は、機械可読記憶媒体または機械可読信号媒体とすることができる。機械可読記憶媒体は、たとえば、磁気記憶媒体（たとえば、フロッピ（登録商標）ディスケット）、光記憶媒体（たとえば、ＣＤ−ＲＯＭ）、光磁気記憶媒体、読取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、消去可能プログラム可能メモリ（たとえば、ＥＰＲＯＭおよびＥＥＰＲＯＭ（登録商標））、フラッシュメモリ、または電子命令を格納するのに適する他のタイプの有形の媒体を含むことができるが、これに限定はされない。機械可読信号媒体は、コンピュータ可読プログラムコードをその中で実施される伝搬されるデータ信号、たとえば、電子信号、光信号、音響信号、または他の形の伝搬される信号（たとえば、搬送波、赤外線信号、ディジタル信号など）を含むことができる。機械可読信号媒体上で実施されるプログラムコードは、有線、ワイヤレス、光ファイバケーブル、ＲＦ、または他の通信媒体を含むがこれに限定されない任意の適切な媒体を使用して送信され得る。
【００８９】
実施形態の動作を実行するコンピュータプログラムコードは、Ｊａｖａ（登録商標）、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋、または類似物などのオブジェクト指向プログラミング言語および「Ｃ」プログラミング言語または類似するプログラミング言語などの従来の手続きプログラミング言語を含む１つまたは複数のプログラミング言語の任意の組合せで記述され得る。プログラムコードは、完全にユーザのコンピュータ上、部分的にユーザのコンピュータ上、独立のソフトウェアパッケージとして、部分的にユーザのコンピュータ上および部分的にリモートコンピュータ上、または完全にリモートコンピュータもしくはサーバ上で実行することができる。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク（ＬＡＮ）、パーソナルエリアネットワーク（ＰＡＮ）、または広域ネットワーク（ＷＡＮ）を含む任意のタイプのネットワークを介してユーザのコンピュータに接続され得、あるいは、接続は、外部コンピュータに対して行われ得る（たとえば、インターネットサービスプロバイダを使用してインターネットを介して）。
【００９０】
図６は、ハイブリッド通信ネットワーク内のパケットルート変化を示す機構を含む電子デバイス６００の一実施形態を示すブロック図である。いくつかの実施態様では、電子デバイス６００は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、携帯電話機、スマート機器、電力線通信デバイス、ゲーム機、ネットワークブリッジングデバイス、または複数の通信ネットワークにまたがって通信するように構成されたハイブリッド通信ユニットを備える他の電子システムのうちの１つとすることができる。電子デバイス６００は、プロセッサユニット６０２（おそらくは、複数のプロセッサ、複数のコア、複数のノードを含み、かつ／またはマルチスレッディングを実施するなど）を含む。電子デバイス６００は、メモリユニット６０６を含む。メモリユニット６０６は、システムメモリ（たとえば、キャッシュ、ＳＲＡＭ、ＤＲＡＭ、ゼロキャパシタＲＡＭ、ツイントランジスタＲＡＭ、ｅＤＲＡＭ、ＥＤＯ  ＲＡＭ、ＤＤＲ  ＲＡＭ、ＥＥＰＲＯＭ、ＮＲＡＭ、ＲＲＡＭ（登録商標）、ＳＯＮＯＳ、ＰＲＡＭなどのうちの１つまたは複数）または機械可読媒体の上で既に説明された可能な実現のうちの任意の１つもしくは複数とすることができる。電子デバイス６００は、バス６１０（たとえば、ＰＣＩ、ＩＳＡ、ＰＣＩ−Ｅｘｐｒｅｓｓ、ＨｙｐｅｒＴｒａｎｓｐｏｒｔ（登録商標）、ＩｎｆｉｎｉＢａｎｄ（登録商標）、ＮｕＢｕｓ、ＡＨＢ、ＡＸＩなど）と、ワイヤレスネットワークインターフェース（たとえば、ＷＬＡＮインターフェース、Ｂｌｕｅｔｏｏｔｈ（登録商標）インターフェース、ＷｉＭＡＸ（登録商標）インターフェース、ＺｉｇＢｅｅ（登録商標）インターフェース、Ｗｉｒｅｌｅｓｓ  ＵＳＢインターフェースなど）および有線ネットワークインターフェース（たとえば、電力線インターフェース、イーサネットインターフェースなど）のうちの少なくとも１つを含むネットワークインターフェース６０４とをも含む。いくつかの実施態様では、電子デバイス６００は、それぞれが電子デバイス６００を異なる通信ネットワークに結合する複数のネットワークインターフェースを備えることができる。たとえば、電子デバイス６００は、それぞれ電子デバイス６００を電力線通信ネットワークセグメント、イーサネット、およびワイヤレスローカルエリアネットワークに結合する電力線通信インターフェース、イーサネットインターフェースおよびＷＬＡＮインターフェースを備えることができる。
【００９１】
電子デバイス６００は、通信ユニット６０８をも含む。通信ユニット６０８は、ルート選択ユニット６１２、送信器処理ユニット６１４、および受信器リオーダリングユニット６１６を備える。いくつかの場合に、電子デバイス６００は、１つまたは複数のパケットを宛先デバイスに送信するソースデバイスとして動作することができる。この場合に、ルート選択ユニット６１２および送信器処理ユニット６１４は、上で図１〜４で説明されるように、共通パケットストリーム、パケットストリームのセット、または共通のルートを共有するように構成されたパケットのセットの１つまたは複数のパケットを送信するために新しいパケットルートを識別し、パケットルートの変化の１つまたは複数の（暗黙のおよび／または明示的な）表示を提供する機能性を実施することができる。他の場合には、電子デバイス６００は、ソースデバイスから１つまたは複数のパケットを受信する宛先デバイスとして動作することができる。この場合に、受信器リオーダリングユニット６１６は、上で図１および５で説明されるように、パケットルートの変化を検出し（暗黙のまたは明示的なルート変化インジケータに基づいて）、受信されたパケットをリオーダリングし（必要な場合に）、後続処理のためにパケットを供給する機能性を実施することができる。これらの機能性のうちの任意の１つは、ハードウェア内および／またはプロセッサユニット６０２上で部分的に（または全体的に）実施され得る。たとえば、機能性は、特定用途向け集積回路を用いて、プロセッサユニット６０２内で実施される論理内で、周辺デバイスまたはカード上のコプロセッサ内で、などで実施され得る。さらに、実現は、図６に示されていないより少数のまたは追加のコンポーネント（たとえば、ビデオカード、オーディオカード、追加のネットワークインターフェース、周辺デバイスなど）を含むことができる。プロセッサユニット６０２、メモリユニット６０６、およびネットワークインターフェース６０４は、バス６１０に結合される。バス６１０に結合されるものとして図示されているが、メモリユニット６０６は、プロセッサユニット６０２に結合され得る。
【００９２】
実施形態は、さまざまな実施態様および活用を参照して説明されるが、これらの実施形態が例示的であることと、本主題の範囲がこれらに限定されないこととを理解されたい。一般に、本明細書で説明される、パケット配送ルートが変化する時のパケットオーダリングの技法は、任意の１つまたは複数のハードウェアシステムと一貫するファシリティを用いて実施され得る。多数の変形形態、修正形態、追加、および改善が、可能である。
【００９３】
複数の実例が、本明細書で説明されるコンポーネント、動作、または構造について、単一の実例として提供される場合がある。最後に、さまざまなコンポーネント、動作、およびデータストアの間の境界は、多少任意であり、特定の動作は、特定の例示的な構成の文脈で示される。機能性の他の割振りが、構想され、本主題の範囲に含まれる可能性がある。一般に、例示的な構成で別々のコンポーネントとして提示される構造および機能性は、組み合わされた構造またはコンポーネントとして実施され得る。同様に、単一のコンポーネントとして提示される構造および機能性は、別々のコンポーネントとして実施され得る。上記および他の変形形態、修正形態、追加、および改善は、本主題の範囲に含まれる可能性がある。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
通信ネットワークの第１のネットワークデバイスと第２のネットワークデバイスとの間の複数のパケットルートのうちの第１のパケットルートを介して複数のパケットを送信することと、
前記第１のネットワークデバイスと前記第２のネットワークデバイスとの間の前記複数のパケットルートのうちの第２のパケットルートを介して前記第２のネットワークデバイスに１つまたは複数のパケットを送信すると決定することと、
前記第２のネットワークデバイスが所定の順序でパケットを処理することを可能にするために、前記複数のパケットルートの前記第１のパケットルートから前記第２のパケットルートへの前記第１のネットワークデバイスと前記第２のネットワークデバイスとの間のパケットルートの変化の表示を前記第２のネットワークデバイスに供給することと、
前記複数のパケットルートの前記第２のパケットルートを介して前記第２のネットワークデバイスに前記１つまたは複数のパケットを送信することと
を備える方法。
［Ｃ２］
前記第１のパケットルートを介して送信される前記複数のパケットおよび前記第２のパケットルートを介して送信される前記１つまたは複数のパケットは、
共通のパケットストリーム、
パケットストリームのセット、または
共通のルートを共有するように構成されたパケットのセット
のうちの１つに関連する、［Ｃ１］に記載の方法。
［Ｃ３］
前記第１のネットワークデバイスと前記第２のネットワークデバイスとの間の前記複数のパケットルートのうちの前記第２のパケットルートを介して前記第２のネットワークデバイスに前記１つまたは複数のパケットを送信することの前記決定に応答して、
前記第１のパケットルートを介する前記複数のパケットのうちの最後のパケットの送信と前記第２のパケットルートを介する前記１つまたは複数のパケットのうちの最初のパケットの送信との間にルート変化待ち時間間隔を実施すると決定することと、
前記第１のパケットルートを介して前記第２のネットワークデバイスに前記複数のパケットのうちの前記最後のパケットを送信することと、
前記第１のパケットルートを介する前記第２のネットワークデバイスへの前記複数のパケットのうちの前記最後のパケットの前記送信に応答して、前記ルート変化待ち時間間隔を開始することと、
前記ルート変化待ち時間間隔が経過したことを判定することと、
前記ルート変化待ち時間間隔が経過したことの前記判定に応答して、前記第２のパケットルートを介して前記第２のネットワークデバイスに前記１つまたは複数のパケットのうちの前記最初のパケットを送信することと
をさらに備える、［Ｃ１］に記載の方法。
［Ｃ４］
前記ルート変化待ち時間間隔は、前記第１のパケットルートに関連するルート待ち時間と、前記第２のパケットルートに関連するルート待ち時間と、前記第１のパケットルートに関連する推定されたパケット配送時間と、前記第２のパケットルートに関連する推定されたパケット配送時間と、通信ネットワーク待ち時間と、前記第１のネットワークデバイスおよび前記第２のネットワークデバイスが複数の再送信の試みをサポートする場合のラウンドトリップ再送信遅延時間間隔と、ラウンドトリップ遅延と、シーケンス内の最後のパケットの受信と順序はずれパケットの受信との間の最長の遅延と、再送信されたパケットを待っている間にデータを格納するための最大の使用可能なメモリとのうちの１つまたは複数に基づいて決定される、［Ｃ３］に記載の方法。
［Ｃ５］
前記第２のネットワークデバイスが前記所定の順序でパケットを処理することを可能にするための、前記複数のパケットルートの前記第１のパケットルートから前記第２のパケットルートへの前記第１のネットワークデバイスと前記第２のネットワークデバイスとの間の前記パケットルートの前記変化の前記表示を前記供給することは、
前記第１のパケットルートを介して前記第２のネットワークデバイスに前記複数のパケットのうちの最後のパケットを送信することと、
前記第１のネットワークデバイスと前記第２のネットワークデバイスとの間の前記パケットルートの前記変化を示すために、前記第１のパケットルートを介する前記複数のパケットのうちの前記最後のパケットの前記送信に応答して、前記第１のパケットルートを介して前記第２のネットワークデバイスにルート終了パケットを供給することと、
前記第１のネットワークデバイスからの後続パケットが前記第２のパケットルートを介して送信されることを示すために、前記第２のパケットルートを介して前記第２のネットワークデバイスにルート開始パケットを供給することと、
前記第２のパケットルートを介する前記第２のネットワークデバイスへの前記ルート開始パケットを前記供給することに応答して、前記第２のパケットルートを介して前記第２のネットワークデバイスに前記１つまたは複数のパケットのうちの最初のパケットを送信することと
を備える、［Ｃ１］に記載の方法。
［Ｃ６］
前記第２のネットワークデバイスが所定の順序でパケットを処理することを可能にするための、前記複数のパケットルートの前記第１のパケットルートから前記第２のパケットルートへの前記第１のネットワークデバイスと前記第２のネットワークデバイスとの間の前記パケットルートの前記変化の前記表示を前記供給することは、
前記第１のネットワークデバイスと前記第２のネットワークデバイスとの間の前記パケットルートの前記変化を示すために、前記第１のパケットルートを介して前記第２のネットワークデバイスに送信されるようにスケジューリングされた前記複数のパケットパケットのうちの少なくとも最後のパケットにルート終了タグを挿入することと、
前記第１のパケットルートを介して前記第２のネットワークデバイスに前記ルート終了タグを含む前記複数のパケットパケットのうちの少なくとも前記最後のパケットを送信することと、
前記第１のネットワークデバイスからの後続パケットが前記第２のパケットルートを介して送信されることを示すために、前記第２のパケットルートを介して前記第２のネットワークデバイスに送信されるようにスケジューリングされた前記１つまたは複数のパケットのうちの少なくとも最初のパケットにルート開始タグを挿入することと、
前記第２のパケットルートを介して前記第２のネットワークデバイスに前記ルート開始タグを含む前記１つまたは複数のパケットのうちの少なくとも前記最初のパケットを送信することと
を備える、［Ｃ１］に記載の方法。
［Ｃ７］
シーケンスインジケータは、
前記第１のネットワークデバイスの上位プロトコル層によって挿入される主シーケンス識別子と、
前記第１のネットワークデバイスのハイブリッドアダプテーション層によって挿入される副シーケンス識別子と
のうちの１つまたは複数を備える、［Ｃ１］に記載の方法。
［Ｃ８］
前記第１のネットワークデバイスで、前記第２のネットワークデバイスでのパケットリオーダリングを容易にするために前記第２のパケットルートを介して送信される前記１つまたは複数のパケットのそれぞれに１つまたは複数のシーケンスインジケータを挿入すること
をさらに備える、［Ｃ１］に記載の方法。
［Ｃ９］
前記第１のネットワークデバイスで、前記第１のパケットルートを介して送信される前記複数のパケットのうちの１つまたは複数の最後のパケットに１つまたは複数のシーケンスインジケータを挿入することと、
前記第１のネットワークデバイスで、前記第２のネットワークデバイスでのパケットリオーダリングを容易にするために前記第２のパケットルートを介して送信される前記１つまたは複数のパケットに１つまたは複数のシーケンスインジケータを挿入することであって、前記第２のパケットルートを介して送信される前記１つまたは複数のパケットに挿入される前記１つまたは複数のシーケンスインジケータは、前記第１のパケットルートを介して送信される前記複数のパケットの前記１つまたは複数の最後のパケットに挿入される前記１つまたは複数のシーケンスインジケータと共に順序通りである、挿入することと
をさらに備える、［Ｃ１］に記載の方法。
［Ｃ１０］
前記第１のパケットルートを介して前記第２のネットワークデバイスに送信されるようにスケジューリングされた前記複数のパケットのうちの少なくとも最後のパケットに第１のルートタグを挿入することと、
前記第１のパケットルートを介して前記第２のネットワークデバイスに前記第１のルートタグを含む前記複数のパケットのうちの少なくとも前記最後のパケットを送信することと、
前記第２のパケットルートを介して前記第２のネットワークデバイスに送信されるようにスケジューリングされた前記１つまたは複数のパケットのうちの少なくとも最初のパケットに第２のルートタグを挿入することであって、前記第１のルートタグから前記第２のルートタグへの切替は、前記第１のネットワークデバイスと前記第２のネットワークデバイスとの間の前記パケットルートの前記変化を示す、挿入することと、
前記第２のパケットルートを介して前記第２のネットワークデバイスに前記第２のルートタグを含む前記１つまたは複数のパケットのうちの少なくとも前記最初のパケットを送信することと
をさらに備える、［Ｃ１］に記載の方法。
［Ｃ１１］
前記第２のパケットルート上で前記第１のパケットルートを介して以前に送信された前記複数のパケットの少なくともサブセットを複製すると決定することと、
前記第１のパケットルートを介して以前に送信された前記複数のパケットの少なくとも前記サブセットを前記第２のパケットルートを介して前記第２のネットワークデバイスに再送信することと
をさらに備える、［Ｃ１］に記載の方法。
［Ｃ１２］
通信ネットワークの第１のネットワークデバイスで、前記通信ネットワークの第２のネットワークデバイスから受信された複数のパケットに少なくとも部分的に基づいて、複数のパケットルートの第１のパケットルートから第２のパケットルートへの、前記第１のネットワークデバイスと前記第２のネットワークデバイスとの間のパケットルートの変化を示す１つまたは複数のルート変化インジケータを検出することと、
前記１つまたは複数のルート変化インジケータに基づいて、前記複数のパケットが所定のパケット順序に従って受信されたかどうかを判定することと、
前記複数のパケットが前記所定のパケット順序に従って受信されなかったとの判定に応答して、前記所定のパケット順序に従って前記複数のパケットをリオーダリングすることと
を備える方法。
［Ｃ１３］
前記複数のパケットルートの前記第１のパケットルートから前記第２のパケットルートへの、前記第１のネットワークデバイスと前記第２のネットワークデバイスとの間の前記パケットルートの前記変化を示す前記１つまたは複数のルート変化インジケータを前記検出することは、
前記第１のパケットルートから前記第２のパケットルートへの、前記第１のネットワークデバイスと前記第２のネットワークデバイスとの間の前記パケットルートの前記変化を示すルート終了インジケータであって、ルート終了タグおよびルート終了パケットのうちの少なくとも１つを備える、ルート終了インジケータと、
前記第２のネットワークデバイスからの後続パケットが前記第２のパケットルートを介して送信されることを示すルート開始インジケータであって、ルート開始タグおよびルート開始パケットのうちの少なくとも１つを備える、ルート開始インジケータと
のうちの少なくとも１つを検出することを備える、［Ｃ１２］に記載の方法。
［Ｃ１４］
前記１つまたは複数のルート変化インジケータに基づく前記複数のパケットが前記所定のパケット順序に従って受信されたかどうかの前記判定は、
前記ルート開始インジケータが、前記第１のパケットルートを介する前記ルート終了インジケータの受信の前に前記第２のパケットルートを介して受信されたかどうかを判定すること
を備える、［Ｃ１３］に記載の方法。
［Ｃ１５］
前記所定のパケット順序に従う前記複数のパケットの前記リオーダリングは、
前記所定のパケット順序に従って前記パケットをリオーダリングするために前記ルート終了インジケータが受信されるまで、前記ルート開始インジケータを前記第２のパケットルートを介して受信した後、前記ルート終了インジケータを前記第１のパケットルートを介して受信する前に、前記第２のパケットルートを介して受信された前記複数のパケットのうちの１つまたは複数をリオーダリングバッファに格納すること
をさらに備える、［Ｃ１４］に記載の方法。
［Ｃ１６］
前記複数のパケットルートの前記第１のパケットルートから前記複数のパケットルートの前記第２のパケットルートへの、前記第１のネットワークデバイスと前記第２のネットワークデバイスとの間の前記パケットルートの前記変化を示す前記１つまたは複数のルート変化インジケータを前記検出することは、
前記第２のネットワークデバイスから受信された前記複数のパケットのそれぞれに関連するパケットヘッダを分析することと、
前記第２のパケットルートを介して受信された前記複数のパケットの第１のパケットが、前記第１のパケットルートを介して以前に受信された前記複数のパケットのうちの少なくとも１つのパケットに関連する第２のパケットヘッダとは異なる第１のパケットヘッダに関連することを判定することと、
前記第２のパケットルートを介して受信された前記複数のパケットの前記第１のパケットが、前記第１のパケットルートを介して以前に受信された前記複数のパケットのうちの少なくとも１つのパケットに関連する前記第２のパケットヘッダとは異なる前記第１のパケットヘッダに関連することの前記判定に少なくとも部分的に基づいて、前記第１のネットワークデバイスと前記第２のネットワークデバイスとの間の前記パケットルートの前記変化を検出することと
を備える、［Ｃ１２］に記載の方法。
［Ｃ１７］
前記第２のネットワークデバイスから受信された前記複数のパケットのそれぞれに関連する前記パケットヘッダの前記分析は、
前記第２のネットワークデバイスに関連する通信インターフェースと、前記第２のネットワークデバイスに関連する下位プロトコル層アドレスと、前記第１のネットワークデバイスに関連する通信インターフェースと、前記第１のネットワークデバイスに関連する下位プロトコル層アドレスと、前記第２のネットワークデバイスによって実施される通信プロトコルの表示と、１つまたは複数の転送するネットワークデバイスに関連する情報と、パケットヘッダ内の複数のビットと、パケットヘッダフォーマットと、パケットヘッダ符号化とのうちの少なくとも１つを分析すること
を備える、［Ｃ１６］に記載の方法。
［Ｃ１８］
前記１つまたは複数のルート変化インジケータに基づく、前記複数のパケットが前記所定のパケット順序に従って受信されたかどうかの前記判定は、
前記複数のパケットのうちの第２のパケットが前記第２のパケットヘッダに関連することを判定することであって、前記第２のパケットは、前記第１のパケットの後に受信される、判定することと、
前記複数のパケットのうちの前記第２のパケットが前記第２のパケットヘッダに関連することの前記判定に少なくとも部分的に基づいて、前記第２のパケットが、少なくとも前記第１のパケットが前記第２のパケットルート上で受信された後に前記第１のパケットルート上で受信されることを判定することと、
前記第２のパケットが、少なくとも前記第１のパケットが前記第２のパケットルート上で受信された後に前記第１のパケットルート上で受信されることの前記判定に基づいて、前記第２のパケットが前記所定のパケット順序に従って受信されるのではないことを判定することと
を備える、［Ｃ１６］に記載の方法。
［Ｃ１９］
前記１つまたは複数のルート変化インジケータに少なくとも部分的に基づいて、前記複数のパケットのそれぞれを、前記第１のパケットルートまたは前記第２のパケットルートに関連するものとして分類することをさらに備える、［Ｃ１２］に記載の方法。
［Ｃ２０］
第１のネットワークデバイスで第２のネットワークデバイスから受信されたパケットごとに、前記パケットが、複数のパケットストリームのうちの１つのパケットストリームまたは共通のパケットルートを共有するように構成されたパケットの複数の所定のセットのうちの１つに関連することを識別することと、
前記第２のネットワークデバイスから受信された各パケットを、前記パケットに関連するパケット分類情報と、前記パケットに関連する前記パケットストリームおよび共通のパケットルートを共有するように構成されたパケットの前記所定のセットのうちの少なくとも１つとに少なくとも部分的に基づいてソートすることと、
前記第２のネットワークデバイスから受信された前記複数のパケットが、前記複数のパケットストリームのうちの第１のパケットストリームまたはパケットの第１の所定のセットに関連することを判定することと、
前記第１のネットワークデバイスと前記第２のネットワークデバイスとの間の前記パケットルートの前記変化を検出するために、前記複数のパケットストリームのうちの前記第１のパケットストリームまたはパケットの前記第１の所定のセットに関連する前記第２のネットワークデバイスから受信された前記複数のパケットを分析することと
をさらに備える、［Ｃ１２］に記載の方法。
［Ｃ２１］
前記複数のパケットが前記所定のパケット順序に従って受信されたのではないことの判定に応答して、
前記所定のパケット順序に従って受信されたのではない前記複数のパケットのサブセットを識別することと、
前記所定のパケット順序に従って受信されたのではない前記複数のパケットの前記サブセットをリオーダリングバッファに格納することと
をさらに備え、前記所定のパケット順序に従う前記複数のパケットの前記リオーダリングは、
前記所定のパケット順序に従う前記第１のネットワークデバイスでの処理のために前記複数のパケットの前記格納されたサブセットのうちの１つまたは複数を供給すべきかどうかを判定することと、
前記第１のネットワークデバイスでの処理のために前記複数のパケットのうちの前記１つまたは複数を供給すべきであるとの判定に応答して、前記第１のネットワークデバイスでの処理のために前記複数のパケットの前記格納されたサブセットのうちの前記１つまたは複数を識別し、供給することと
を備える、［Ｃ１２］に記載の方法。
［Ｃ２２］
前記第１のネットワークデバイスでの処理のための前記複数のパケットの前記格納されたサブセットのうちの前記１つまたは複数を前記識別し、供給することは、
前記第１のパケットルート上での前記ルート終了インジケータの受信に応答して、前記第１のパケットルート上でのルート終了インジケータの受信の前に前記第２のパケットルート上で受信された前記複数のパケットの前記格納されたサブセットのうちの前記１つまたは複数を供給することであって、前記ルート終了インジケータは、前記パケットルートの前記変化を示す、供給すること、
前記第１のパケットルートを介する１つまたは複数のパケットの受信に関連する待ち時間間隔が経過したことの判定に応答して、前記第２のパケットルート上で受信された前記複数のパケットの前記格納されたサブセットのうちの前記１つまたは複数を前記所定のパケット順序に従って供給すること、または
前記リオーダリングバッファがしきいバッファ容量を超えたことの判定に応答して、前記第２のパケットルート上で受信された前記複数のパケットの前記格納されたサブセットのうちの前記１つまたは複数を前記所定のパケットルートに従って供給すること
のうちの１つを備える、［Ｃ２１］に記載の方法。
［Ｃ２３］
前記所定のパケット順序は、
前記第２のネットワークデバイスによって前記第１のネットワークデバイスに送信される前記複数のパケットのそれぞれに挿入された１つまたは複数のシーケンス識別子と、
前記第２のネットワークデバイスによって前記第１のネットワークデバイスに送信される前記複数のパケットのそれぞれに関連するパケット識別子および対応するシーケンス識別子を備えるパケットシーケンス情報であって、ルート変化インジケータ内またはシーケンス表示パケット内で供給される、パケットシーケンス情報と
のうちの少なくとも１つによって示される、［Ｃ１２］に記載の方法。
［Ｃ２４］
少なくとも１つのネットワークインターフェースと、
前記少なくとも１つのネットワークインターフェースに結合されたリオーダリングユニットであって、
複数のパケットルートの第１のパケットルートから第２のパケットルートへの、通信ネットワークデバイスと第２の通信ネットワークデバイスとの間のパケットルートの変化を示す１つまたは複数のルート変化インジケータを、前記第２の通信ネットワークデバイスから受信された複数のパケットに少なくとも部分的に基づいて検出し、
前記１つまたは複数のルート変化インジケータに基づいて、前記複数のパケットが所定のパケット順序に従って受信されたかどうかを判定し、
前記リオーダリングユニットが、前記複数のパケットが前記所定のパケット順序に従って受信されたのではないと判定することに応答して、前記所定のパケット順序に従って前記複数のパケットをリオーダリングする
ように動作可能なリオーダリングユニットと
を備える通信ネットワークデバイス。
［Ｃ２５］
前記複数のパケットルートの前記第１のパケットルートから前記第２のパケットルートへの、第１の通信ネットワークデバイスと前記第２の通信ネットワークデバイスとの間の前記パケットルートの前記変化を示す前記１つまたは複数のルート変化インジケータを検出するように動作可能な前記リオーダリングユニットは、
前記第１のパケットルートから前記第２のパケットルートへの前記第１の通信ネットワークデバイスと前記第２の通信ネットワークデバイスとの間の前記パケットルートの前記変化を示すルート終了インジケータであって、ルート終了タグおよびルート終了パケットのうちの少なくとも１つを備える、ルート終了インジケータと、
前記第２の通信ネットワークデバイスからの後続パケットが前記第２のパケットルートを介して送信されることを示すルート開始インジケータであって、ルート開始タグおよびルート開始パケットのうちの少なくとも１つを備える、ルート開始インジケータと
のうちの少なくとも１つを検出するように動作可能な前記リオーダリングユニットを備える、［Ｃ２４］に記載の通信ネットワークデバイス。
［Ｃ２６］
前記１つまたは複数のルート変化インジケータに基づいて、前記複数のパケットが前記所定のパケット順序に従って受信されたかどうかを判定するように動作可能な前記リオーダリングユニットは、
前記ルート開始インジケータが、前記リオーダリングユニットが前記第１のパケットルートを介して前記ルート終了インジケータを受信する前に前記第２のパケットルートを介して受信されたかどうかを判定するように動作可能な前記リオーダリングユニット
を備え、前記所定のパケット順序に従って前記複数のパケットをリオーダリングするように動作可能な前記リオーダリングユニットは、
前記所定のパケット順序に従って前記パケットをリオーダリングするために前記ルート終了インジケータが受信されるまで、前記第２のパケットルートを介して前記ルート開始インジケータを受信した後、前記第１のパケットルートを介して前記ルート終了インジケータを受信する前に、前記第２のパケットルートを介して受信される前記複数のパケットのうちの１つまたは複数をリオーダリングバッファに格納するように動作可能な前記リオーダリングユニット
をさらに備える、［Ｃ２５］に記載の通信ネットワークデバイス。
［Ｃ２７］
前記複数のパケットルートの前記第１のパケットルートから前記複数のパケットルートの前記第２のパケットルートへの、前記第１の通信ネットワークデバイスと前記第２の通信ネットワークデバイスとの間の前記パケットルートの前記変化を示す前記１つまたは複数のルート変化インジケータを検出するように動作可能な前記リオーダリングユニットは、
前記第２の通信ネットワークデバイスから受信された前記複数のパケットのそれぞれに関連するパケットヘッダを分析し、
前記第２のパケットルートを介して受信される前記複数のパケットのうちの第１のパケットが、前記第１のパケットルートを介して以前に受信された前記複数のパケットのうちの少なくとも１つのパケットに関連する第２のパケットヘッダとは異なる第１のパケットヘッダに関連することを判定し、
前記第２のパケットルートを介して受信される前記複数のパケットのうちの前記第１のパケットが、前記第１のパケットルートを介して以前に受信された前記複数のパケットのうちの少なくとも１つのパケットに関連する前記第２のパケットヘッダとは異なる前記第１のパケットヘッダに関連することを前記リオーダリングユニットが判定することに少なくとも部分的に基づいて、前記第１の通信ネットワークデバイスと前記第２の通信ネットワークデバイスとの間の前記パケットルートの前記変化を検出する
ように動作可能な前記リオーダリングユニットを備える、［Ｃ２４］に記載の通信ネットワークデバイス。
［Ｃ２８］
前記１つまたは複数のルート変化インジケータに基づいて、前記複数のパケットが前記所定のパケット順序に従って受信されたかどうかを判定するように動作可能な前記リオーダリングユニットは、
前記複数のパケットの第２のパケットが前記第２のパケットヘッダに関連することを判定することであって、前記第２のパケットは、前記第１のパケットの後に受信される、判定することと、
前記複数のパケットの前記第２のパケットが前記第２のパケットヘッダに関連することを前記リオーダリングユニットが判定することに少なくとも部分的に基づいて、少なくとも前記第１のパケットが前記第２のパケットルート上で受信された後に前記第２のパケットが前記第１のパケットルート上で受信されることを判定することと、
少なくとも前記第１のパケットが前記第２のパケットルート上で受信された後に前記第２のパケットが前記第１のパケットルート上で受信されることを判定することとを行うように動作可能な前記リオーダリングユニットに基づいて、前記第２のパケットが前記所定のパケット順序に従って受信されるのではないと判定することとを行う
ように動作可能な前記リオーダリングユニットを備える、［Ｃ２７］に記載の通信ネットワークデバイス。
［Ｃ２９］
前記リオーダリングユニットは、前記１つまたは複数のルート変化インジケータに少なくとも部分的に基づいて、前記複数のパケットのそれぞれを前記第１のパケットルートまたは前記第２のパケットルートに関連するものとして分類するようにさらに動作可能である、［Ｃ２４］に記載の通信ネットワークデバイス。
［Ｃ３０］
前記リオーダリングユニットは、
前記第１の通信ネットワークデバイスで前記第２の通信ネットワークデバイスから受信されたパケットごとに、前記パケットに関連する複数のパケットストリームのうちの１つのパケットストリームを識別し、
前記パケットに関連する前記パケットストリームに少なくとも部分的に基づいて、前記第２の通信ネットワークデバイスから受信された各パケットをソートし、
前記第２の通信ネットワークデバイスから受信された前記複数のパケットが前記複数のパケットストリームのうちの第１のパケットストリームに関連することを判定し、
前記第１の通信ネットワークデバイスと前記第２の通信ネットワークデバイスとの間の前記パケットルートの前記変化を検出するために、前記複数のパケットストリームのうちの前記第１のパケットストリームに関連する前記第２の通信ネットワークデバイスから受信された前記複数のパケットを分析する
ようにさらに動作可能である、［Ｃ２４］に記載の通信ネットワークデバイス。
［Ｃ３１］
前記リオーダリングユニットが、前記複数のパケットが前記所定のパケット順序に従って受信されたのではないと判定することに応答して、前記リオーダリングユニットは、
前記所定のパケット順序に従って受信されたのではない前記複数のパケットのサブセットを識別し、
前記所定のパケット順序に従って受信されたのではない前記複数のパケットの前記サブセットをリオーダリングバッファに格納する
ようにさらに動作可能であり、前記所定のパケット順序に従って前記複数のパケットをリオーダリングするように動作可能な前記リオーダリングユニットは、
前記所定のパケット順序に従う前記第１の通信ネットワークデバイスでの処理のために前記複数のパケットの前記格納されたサブセットのうちの１つまたは複数を供給すべきかどうかを判定し、
前記リオーダリングユニットが前記第１の通信ネットワークデバイスでの処理のために前記複数のパケットのうちの前記１つまたは複数を供給すべきであると判定することに応答して、前記第１の通信ネットワークデバイスでの処理のために前記複数のパケットの前記格納されたサブセットのうちの前記１つまたは複数を識別し、供給する
ように動作可能な前記リオーダリングユニットを備える、［Ｃ２４］に記載の通信ネットワークデバイス。
［Ｃ３２］
１つまたは複数のプロセッサによって実行された時に、前記１つまたは複数のプロセッサに、
第１のネットワークデバイスで、通信ネットワークの第２のネットワークデバイスから受信された複数のパケットに少なくとも部分的に基づいて、複数のパケットルートの第１のパケットルートから第２のパケットルートへの、前記第１のネットワークデバイスと前記第２のネットワークデバイスとの間のパケットルートの変化を示す１つまたは複数のルート変化インジケータを検出することと、
前記１つまたは複数のルート変化インジケータに基づいて、前記複数のパケットが所定のパケット順序に従って受信されたかどうかを判定することと、
前記複数のパケットが前記所定のパケット順序に従って受信されなかったとの判定に応答して、前記所定のパケット順序に従って前記複数のパケットをリオーダリングすることと
を備える動作を実行させる命令を格納した１つまたは複数の機械可読記憶媒体。
［Ｃ３３］
前記１つまたは複数のルート変化インジケータに基づいて前記複数のパケットが前記所定のパケット順序に従って受信されたかどうかを判定する前記動作は、
ルート開始インジケータが、前記第１のパケットルートを介するルート終了インジケータの受信の前に前記第２のパケットルートを介して受信されたかどうかを判定することであって、前記ルート開始インジケータが、前記第２のネットワークデバイスからの後続パケットが前記第２のパケットルートを介して送信されることを示し、前記ルート終了インジケータが、前記第１のパケットルートから前記第２のパケットルートへの、前記第１のネットワークデバイスと前記第２のネットワークデバイスとの間の前記パケットルートの前記変化を示す、判定すること
を備え、前記所定のパケット順序に従って前記複数のパケットをリオーダリングする前記動作は、
前記所定のパケット順序に従って前記パケットをリオーダリングするために前記ルート終了インジケータが受信されるまで、前記ルート開始インジケータを前記第２のパケットルートを介して受信した後、前記ルート終了インジケータを前記第１のパケットルートを介して受信する前に、前記第２のパケットルートを介して受信された前記複数のパケットのうちの１つまたは複数をリオーダリングバッファに格納すること
をさらに備える、［Ｃ３２］に記載の機械可読記憶媒体。
［Ｃ３４］
前記複数のパケットルートの前記第１のパケットルートから前記複数のパケットルートの前記第２のパケットルートへの、前記第１のネットワークデバイスと前記第２のネットワークデバイスとの間の前記パケットルートの前記変化を示す前記１つまたは複数のルート変化インジケータを検出する前記動作は、
前記第２のネットワークデバイスから受信された前記複数のパケットのそれぞれに関連するパケットヘッダを分析することと、
前記第２のパケットルートを介して受信された前記複数のパケットの第１のパケットが、前記第１のパケットルートを介して以前に受信された前記複数のパケットのうちの少なくとも１つのパケットに関連する第２のパケットヘッダとは異なる第１のパケットヘッダに関連することを判定することと、
前記第２のパケットルートを介して受信された前記複数のパケットの前記第１のパケットが、前記第１のパケットルートを介して以前に受信された前記複数のパケットのうちの少なくとも１つのパケットに関連する前記第２のパケットヘッダとは異なる前記第１のパケットヘッダに関連することの前記判定に少なくとも部分的に基づいて、前記第１のネットワークデバイスと前記第２のネットワークデバイスとの間の前記パケットルートの前記変化を検出することと
を備える、［Ｃ３２］に記載の機械可読記憶媒体。
［Ｃ３５］
前記１つまたは複数のルート変化インジケータに基づいて、前記複数のパケットが前記所定のパケット順序に従って受信されたかどうかを判定する前記動作は、
前記複数のパケットのうちの第２のパケットが前記第２のパケットヘッダに関連することを判定することであって、前記第２のパケットは、前記第１のパケットの後に受信される、判定することと、
前記複数のパケットのうちの前記第２のパケットが前記第２のパケットヘッダに関連することの前記判定に少なくとも部分的に基づいて、前記第２のパケットが、少なくとも前記第１のパケットが前記第２のパケットルート上で受信された後に前記第１のパケットルート上で受信されることを判定することと、
前記第２のパケットが、少なくとも前記第１のパケットが前記第２のパケットルート上で受信された後に前記第１のパケットルート上で受信されることの前記判定に基づいて、前記第２のパケットが前記所定のパケット順序に従って受信されたのではないことを判定することと
を備える、［Ｃ３４］に記載の機械可読記憶媒体。
［Ｃ３６］
前記複数のパケットが前記所定のパケット順序に従って受信されたのではないことの判定に応答して、前記動作は、
前記所定のパケット順序に従って受信されたのではない前記複数のパケットのサブセットを識別することと、
前記所定のパケット順序に従って受信されたのではない前記複数のパケットの前記サブセットをリオーダリングバッファに格納することと
をさらに備え、前記所定のパケット順序に従って前記複数のパケットをリオーダリングする前記動作は、
前記所定のパケット順序に従う前記第１のネットワークデバイスでの処理のために前記複数のパケットの前記格納されたサブセットのうちの１つまたは複数を供給すべきかどうかを判定することと、
前記第１のネットワークデバイスでの処理のために前記複数のパケットの前記格納されたサブセットのうちの前記１つまたは複数を供給すべきであるとの判定に応答して、前記第１のネットワークデバイスでの処理のために前記複数のパケットの前記格納されたサブセットのうちの前記１つまたは複数を識別し、供給することと
を備える、［Ｃ３２］に記載の機械可読記憶媒体。
【図１】
0005859669.tif 000002
【図２】
0005859669.tif 000003
【図３】
0005859669.tif 000004
【図４】
0005859669.tif 000005
【図５】
0005859669.tif 000006
【図６】
0005859669.tif 000007