JP2014534781A - 通信ネットワークにおける配送ルート変化に基づくパケットオーダリング - Google Patents

通信ネットワークにおける配送ルート変化に基づくパケットオーダリング Download PDF

Info

Publication number
JP2014534781A
JP2014534781A JP2014540156A JP2014540156A JP2014534781A JP 2014534781 A JP2014534781 A JP 2014534781A JP 2014540156 A JP2014540156 A JP 2014540156A JP 2014540156 A JP2014540156 A JP 2014540156A JP 2014534781 A JP2014534781 A JP 2014534781A
Authority
JP
Japan
Prior art keywords
packet
route
packets
network device
received
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014540156A
Other languages
English (en)
Other versions
JP5859669B2 (ja
JP2014534781A5 (ja
Inventor
シュルム、シドニー・ビー.・ジュニア
ニューマン、リチャード・アーネスト
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2014534781A publication Critical patent/JP2014534781A/ja
Publication of JP2014534781A5 publication Critical patent/JP2014534781A5/ja
Application granted granted Critical
Publication of JP5859669B2 publication Critical patent/JP5859669B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

ハイブリッドネットワークデバイスは、共通のルートを共有する1つまたは複数のパケットに関連するパケットルートの変化を検出し、順序はずれパケット到着を管理する機能性を実施することができる。ハイブリッド通信ネットワークでは、第1のネットワークデバイスは、複数のパケットルートを介して第2のネットワークデバイスと通信することができる。第1のネットワークデバイスは、第2のネットワークデバイスから受信された複数のパケットに少なくとも部分的に基づいて、第1のパケットルートから第2のパケットルートへの、第1のネットワークデバイスと第2のネットワークデバイスとの間のパケットルートの変化を示す1つまたは複数のルート変化インジケータを検出することができる。ルート変化インジケータに基づいて、複数のパケットが所定の順序に従って受信されたかどうかと、複数のパケットを所定の順序に基づいてリオーダリングしなければならないかどうかとが、判定され得る。

Description

関連出願
本願は、2011年11月3日に出願した米国特許出願第13/288313号の優先権利益を主張するものである。
本主題の実施形態は、全般的には通信システムの分野に関し、より詳細には、ハイブリッド通信ネットワークでの配送ルート変化に基づくパケットオーダリングに関する。
ハイブリッド通信ネットワークは、通常、単一の拡張された通信ネットワークを形成するために、異なるネットワーク技術および媒体の間でパケットを転送するブリッジング対応デバイスを使用して相互接続された複数のネットワーキング技術(たとえば、ワイヤレスローカルエリアネットワーク(WLAN)技術、電力線通信技術、イーサネット(登録商標)など)を備える。通常、通信機構およびプロトコルの詳細(たとえば、デバイスおよびトポロジのディスカバリ、他のネットワークへのブリッジングなど)は、各ネットワーキング技術に特有である。ハイブリッド通信ネットワークは、ソースネットワークデバイスから宛先ネットワークデバイスへパケットを配送するために、異なるネットワーク技術のうちの1つまたは複数に関連する異なるルートを提供することができる。
いくつかの実施形態では、方法は、通信ネットワークの第1のネットワークデバイスと第2のネットワークデバイスとの間の複数のパケットルートのうちの第1のパケットルートを介して複数のパケットを送信することと、第1のネットワークデバイスと第2のネットワークデバイスとの間の複数のパケットルートのうちの第2のパケットルートを介して第2のネットワークデバイスに1つまたは複数のパケットを送信すると決定することと、第2のネットワークデバイスが所定の順序でパケットを処理することを可能にするために、複数のパケットルートの第1のパケットルートから第2のパケットルートへの第1のネットワークデバイスと第2のネットワークデバイスとの間のパケットルートの変化の表示を第2のネットワークデバイスに供給することと、複数のパケットルートの第2のパケットルートを介して第2のネットワークデバイスに1つまたは複数のパケットを送信することとを備える。
いくつかの実施形態では、第1のパケットルートを介して送信される複数のパケットおよび第2のパケットルートを介して送信される1つまたは複数のパケットは、共通のパケットストリーム、パケットストリームのセット、または共通のルートを共有するように構成されたパケットのセットのうちの1つに関連する。
いくつかの実施形態では、第1のネットワークデバイスと第2のネットワークデバイスとの間の複数のパケットルートのうちの第2のパケットルートを介して第2のネットワークデバイスに1つまたは複数のパケットを送信することの前記決定に応答して、前記方法は、第1のパケットルートを介する複数のパケットのうちの最後のパケットの送信と第2のパケットルートを介する1つまたは複数のパケットのうちの最初のパケットの送信との間にルート変化待ち時間間隔を実施すると決定することと、第1のパケットルートを介して第2のネットワークデバイスに複数のパケットのうちの最後のパケットを送信することと、第1のパケットルートを介する第2のネットワークデバイスへの複数のパケットのうちの最後のパケットの前記送信に応答して、ルート変化待ち時間間隔を開始することと、ルート変化待ち時間間隔が経過したことを判定することと、ルート変化待ち時間間隔が経過したことの前記判定に応答して、第2のパケットルートを介して第2のネットワークデバイスに1つまたは複数のパケットのうちの最初のパケットを送信することとをさらに備える。
いくつかの実施形態では、ルート変化待ち時間間隔は、第1のパケットルートに関連するルート待ち時間と、第2のパケットルートに関連するルート待ち時間と、第1のパケットルートに関連する推定されたパケット配送時間と、第2のパケットルートに関連する推定されたパケット配送時間と、通信ネットワーク待ち時間と、第1のネットワークデバイスおよび第2のネットワークデバイスが複数の再送信の試みをサポートする場合のラウンドトリップ再送信遅延時間間隔と、ラウンドトリップ遅延と、シーケンス内の最後のパケットの受信と順序はずれパケットの受信との間の最長の遅延と、再送信されたパケットを待っている間にデータを格納するための最大の使用可能なメモリとのうちの1つまたは複数に基づいて決定される。
いくつかの実施形態では、第2のネットワークデバイスが所定の順序でパケットを処理することを可能にするための、複数のパケットルートの第1のパケットルートから第2のパケットルートへの第1のネットワークデバイスと第2のネットワークデバイスとの間のパケットルートの変化の表示を前記供給することは、第1のパケットルートを介して第2のネットワークデバイスに複数のパケットのうちの最後のパケットを送信することと、第1のネットワークデバイスと第2のネットワークデバイスとの間のパケットルートの変化を示すために、第1のパケットルートを介する複数のパケットのうちの最後のパケットの銭送信に応答して、第1のパケットルートを介して第2のネットワークデバイスにルート終了パケットを供給することと、第1のネットワークデバイスからの後続パケットが第2のパケットルートを介して送信されることを示すために、第2のパケットルートを介して第2のネットワークデバイスにルート開始パケットを供給することと、第2のパケットルートを介する第2のネットワークデバイスへのルート開始パケットを前記供給することに応答して、第2のパケットルートを介して第2のネットワークデバイスに1つまたは複数のパケットのうちの最初のパケットを送信することとを備える。
いくつかの実施形態では、第2のネットワークデバイスが所定の順序でパケットを処理することを可能にするための、複数のパケットルートの第1のパケットルートから第2のパケットルートへの第1のネットワークデバイスと第2のネットワークデバイスとの間のパケットルートの変化の表示を前記供給することは、第1のネットワークデバイスと第2のネットワークデバイスとの間のパケットルートの変化を示すために、第1のパケットルートを介して第2のネットワークデバイスに送信されるようにスケジューリングされた複数のパケットパケットのうちの少なくとも最後のパケットにルート終了タグを挿入することと、ルート終了タグを含む複数のパケットパケットのうちの少なくとも最後のパケットを第1のパケットルートを介して第2のネットワークデバイスに送信することと、第1のネットワークデバイスからの後続パケットが第2のパケットルートを介して送信されることを示すために、第2のパケットルートを介して第2のネットワークデバイスに送信されるようにスケジューリングされた1つまたは複数のパケットのうちの少なくとも最初のパケットにルート開始タグを挿入することと、ルート開始タグを含む1つまたは複数のパケットのうちの少なくとも最初のパケットを第2のパケットルートを介して第2のネットワークデバイスに送信することとを備える。
いくつかの実施形態では、シーケンスインジケータは、第1のネットワークデバイスの上位プロトコル層によって挿入される主シーケンス識別子と、第1のネットワークデバイスのハイブリッドアダプテーション層(hybrid adaptation layer)によって挿入される副シーケンス識別子とのうちの1つまたは複数を備える。
いくつかの実施形態では、方法は、第1のネットワークデバイスで、第2のネットワークデバイスでのパケットリオーダリングを容易にするために第2のパケットルートを介して送信される1つまたは複数のパケットのそれぞれに1つまたは複数のシーケンスインジケータを挿入することをさらに備える。
いくつかの実施形態では、方法は、第1のネットワークデバイスで、第1のパケットルートを介して送信される複数のパケットのうちの1つまたは複数の最後のパケットに1つまたは複数のシーケンスインジケータを挿入することと、第1のネットワークデバイスで、第2のネットワークデバイスでのパケットリオーダリングを容易にするために第2のパケットルートを介して送信される1つまたは複数のパケットに1つまたは複数のシーケンスインジケータを挿入することであって、第2のパケットルートを介して送信される1つまたは複数のパケットに挿入される1つまたは複数のシーケンスインジケータは、第1のパケットルートを介して送信される複数のパケットの1つまたは複数の最後のパケットに挿入される1つまたは複数のシーケンスインジケータと共に順序通りである、挿入することとをさらに備える。
いくつかの実施形態では、方法は、第1のパケットルートを介して第2のネットワークデバイスに送信されるようにスケジューリングされた複数のパケットのうちの少なくとも最後のパケットに第1のルートタグを挿入することと、第1のルートタグを含む複数のパケットのうちの少なくとも最後のパケットを第1のパケットルートを介して第2のネットワークデバイスに送信することと、第2のパケットルートを介して第2のネットワークデバイスに送信されるようにスケジューリングされた1つまたは複数のパケットのうちの少なくとも最初のパケットに第2のルートタグを挿入することであって、第1のルートタグから第2のルートタグへの切替は、第1のネットワークデバイスと第2のネットワークデバイスとの間のパケットルートの変化を示す、挿入することと、第2のルートタグを含む1つまたは複数のパケットのうちの少なくとも最初のパケットを第2のパケットルートを介して第2のネットワークデバイスに送信することとをさらに備える。
いくつかの実施形態では、方法は、第2のパケットルート上で第1のパケットルートを介して以前に送信された複数のパケットの少なくともサブセットを複製すると決定することと、第1のパケットルートを介して以前に送信された複数のパケットの少なくともサブセットを第2のパケットルートを介して第2のネットワークデバイスに再送信することとをさらに備える。
いくつかの実施形態では、方法は、通信ネットワークの第1のネットワークデバイスで、通信ネットワークの第2のネットワークデバイスから受信された複数のパケットに少なくとも部分的に基づいて、複数のパケットルートの第1のパケットルートから第2のパケットルートへの、第1のネットワークデバイスと第2のネットワークデバイスとの間のパケットルートの変化を示す1つまたは複数のルート変化インジケータを検出することと、1つまたは複数のルート変化インジケータに基づいて、複数のパケットが所定のパケット順序に従って受信されたかどうかを判定することと、複数のパケットが所定のパケット順序に従って受信されなかったとの判定に応答して、所定のパケット順序に従って複数のパケットをリオーダリングすることとを備える。
いくつかの実施形態では、複数のパケットルートの第1のパケットルートから第2のパケットルートへの、第1のネットワークデバイスと第2のネットワークデバイスとの間のパケットルートの変化を示す1つまたは複数のルート変化インジケータを前記検出することは、第1のパケットルートから第2のパケットルートへの、第1のネットワークデバイスと第2のネットワークデバイスとの間のパケットルートの変化を示すルート終了インジケータであって、ルート終了タグおよびルート終了パケットのうちの少なくとも1つを備える、ルート終了インジケータと、第2のネットワークデバイスからの後続パケットが第2のパケットルートを介して送信されることを示すルート開始インジケータであって、ルート開始タグおよびルート開始パケットのうちの少なくとも1つを備える、ルート開始インジケータとのうちの少なくとも1つを検出することを備える。
いくつかの実施形態では、1つまたは複数のルート変化インジケータに基づく複数のパケットが所定のパケット順序に従って受信されたかどうかの前記判定は、ルート開始インジケータが、第1のパケットルートを介するルート終了インジケータの受信の前に第2のパケットルートを介して受信されたかどうかを判定することを備える。
いくつかの実施形態では、所定のパケット順序に従う複数のパケットの前記リオーダリングは、所定のパケット順序に従ってパケットをリオーダリングするためにルート終了インジケータが受信されるまで、ルート開始インジケータを第2のパケットルートを介して受信した後、ルート終了インジケータを第1のパケットルートを介して受信する前に、第2のパケットルートを介して受信された複数のパケットのうちの1つまたは複数をリオーダリングバッファに格納することをさらに備える。
いくつかの実施形態では、複数のパケットルートの第1のパケットルートから複数のパケットルートの第2のパケットルートへの、第1のネットワークデバイスと第2のネットワークデバイスとの間のパケットルートの変化を示す1つまたは複数のルート変化インジケータを前記検出することは、第2のネットワークデバイスから受信された複数のパケットのそれぞれに関連するパケットヘッダを分析することと、第2のパケットルートを介して受信された複数のパケットの第1のパケットが、第1のパケットルートを介して以前に受信された複数のパケットのうちの少なくとも1つのパケットに関連する第2のパケットヘッダとは異なる第1のパケットヘッダに関連することを判定することと、第2のパケットルートを介して受信された複数のパケットの第1のパケットが、第1のパケットルートを介して以前に受信された複数のパケットのうちの少なくとも1つのパケットに関連する第2のパケットヘッダとは異なる第1のパケットヘッダに関連することの前記判定に少なくとも部分的に基づいて、第1のネットワークデバイスと第2のネットワークデバイスとの間のパケットルートの変化を検出することとを備える。
いくつかの実施形態では、第2のネットワークデバイスから受信された複数のパケットのそれぞれに関連するパケットヘッダの前記分析は、第2のネットワークデバイスに関連する通信インターフェースと、第2のネットワークデバイスに関連する下位プロトコル層アドレスと、第1のネットワークデバイスに関連する通信インターフェースと、第1のネットワークデバイスに関連する下位プロトコル層アドレスと、第2のネットワークデバイスによって実施される通信プロトコルの表示と、1つまたは複数の転送するネットワークデバイスに関連する情報と、パケットヘッダ内の複数のビットと、パケットヘッダフォーマットと、パケットヘッダ符号化とのうちの少なくとも1つを分析することを備える。
いくつかの実施形態では、1つまたは複数のルート変化インジケータに基づく、複数のパケットが所定のパケット順序に従って受信されたかどうかの前記判定は、複数のパケットのうちの第2のパケットが第2のパケットヘッダに関連することを判定することであって、第2のパケットは、第1のパケットの後に受信される、判定することと、複数のパケットのうちの第2のパケットが第2のパケットヘッダに関連することの前記判定に少なくとも部分的に基づいて、第2のパケットが、少なくとも第1のパケットが第2のパケットルート上で受信された後に第1のパケットルート上で受信されることを判定することと、第2のパケットが、少なくとも第1のパケットが第2のパケットルート上で受信された後に第1のパケットルート上で受信されることの前記判定に基づいて、第2のパケットが所定のパケット順序に従って受信されるのではないことを判定することとを備える。
いくつかの実施形態では、方法は、1つまたは複数のルート変化インジケータに少なくとも部分的に基づいて、複数のパケットのそれぞれを、第1のパケットルートまたは第2のパケットルートに関連するものとして分類することをさらに備える。
いくつかの実施形態では、方法は、第1のネットワークデバイスで第2のネットワークデバイスから受信されたパケットごとに、パケットが、複数のパケットストリームのうちの1つのパケットストリームまたは共通のパケットルートを共有するように構成されたパケットの複数の所定のセットのうちの1つに関連することを識別することと、第2のネットワークデバイスから受信された各パケットを、パケットに関連するパケット分類情報と、パケットに関連するパケットストリームおよび共通のパケットルートを共有するように構成されたパケットの所定のセットのうちの少なくとも1つとに少なくとも部分的に基づいてソートすることと、第2のネットワークデバイスから受信された複数のパケットが、複数のパケットストリームのうちの第1のパケットストリームまたはパケットの第1の所定のセットに関連することを判定することと、第1のネットワークデバイスと第2のネットワークデバイスとの間のパケットルートの変化を検出するために、複数のパケットストリームのうちの第1のパケットストリームまたはパケットの第1の所定のセットに関連する第2のネットワークデバイスから受信された複数のパケットを分析することとをさらに備える。
いくつかの実施形態では、複数のパケットが所定のパケット順序に従って受信されたのではないことの判定に応答して、方法は、所定のパケット順序に従って受信されたのではない複数のパケットのサブセットを識別することと、所定のパケット順序に従って受信されたのではない複数のパケットのサブセットをリオーダリングバッファに格納することとをさらに備え、所定のパケット順序に従う複数のパケットの前記リオーダリングは、所定のパケット順序に従う第1のネットワークデバイスでの処理のために複数のパケットの格納されたサブセットのうちの1つまたは複数を供給すべきかどうかを判定することと、第1のネットワークデバイスでの処理のために複数のパケットのうちの1つまたは複数を供給すべきであるとの判定に応答して、第1のネットワークデバイスでの処理のために複数のパケットの格納されたサブセットのうちの1つまたは複数を識別し、供給することとを備える。
いくつかの実施形態では、第1のネットワークデバイスでの処理のための複数のパケットの格納されたサブセットのうちの1つまたは複数を前記識別し、供給することは、第1のパケットルート上でのルート終了インジケータの受信に応答して、第1のパケットルート上でのルート終了インジケータの受信の前に第2のパケットルート上で受信された複数のパケットの格納されたサブセットのうちの1つまたは複数を供給することであって、ルート終了インジケータは、パケットルートの変化を示す、供給すること、第1のパケットルートを介する1つまたは複数のパケットの受信に関連する待ち時間間隔が経過したことの判定に応答して、第2のパケットルート上で受信された複数のパケットの格納されたサブセットのうちの1つまたは複数を所定のパケット順序に従って供給すること、またはリオーダリングバッファがしきいバッファ容量を超えたことの判定に応答して、第2のパケットルート上で受信された複数のパケットの格納されたサブセットのうちの1つまたは複数を所定のパケットルートに従って供給することのうちの1つを備える。
いくつかの実施形態では、所定のパケット順序は、第2のネットワークデバイスによって第1のネットワークデバイスに送信される複数のパケットのそれぞれに挿入された1つまたは複数のシーケンス識別子のうちの少なくとも1つによって示され、パケットシーケンス情報は、第2のネットワークデバイスによって第1のネットワークデバイスに送信される複数のパケットのそれぞれに関連するパケット識別子および対応するシーケンス識別子を備え、パケットシーケンス情報は、ルート変化インジケータ内またはシーケンス表示パケット内で供給される。
いくつかの実施形態では、通信ネットワークデバイスは、少なくとも1つのネットワークインターフェースと、少なくとも1つのネットワークインターフェースに結合されたリオーダリングユニットであって、複数のパケットルートの第1のパケットルートから第2のパケットルートへの、通信ネットワークデバイスと第2の通信ネットワークデバイスとの間のパケットルートの変化を示す1つまたは複数のルート変化インジケータを、第2の通信ネットワークデバイスから受信された複数のパケットに少なくとも部分的に基づいて検出し、1つまたは複数のルート変化インジケータに基づいて、複数のパケットが所定のパケット順序に従って受信されたかどうかを判定し、リオーダリングユニットが、複数のパケットが所定のパケット順序に従って受信されたのではないと判定することに応答して、所定のパケット順序に従って複数のパケットをリオーダリングするように動作可能なリオーダリングユニットとを備える。
いくつかの実施形態では、複数のパケットルートの第1のパケットルートから第2のパケットルートへの、第1の通信ネットワークデバイスと第2の通信ネットワークデバイスとの間のパケットルートの変化を示す1つまたは複数のルート変化インジケータを検出するように動作可能なリオーダリングユニットは、第1のパケットルートから第2のパケットルートへの第1の通信ネットワークデバイスと第2の通信ネットワークデバイスとの間のパケットルートの変化を示すルート終了インジケータであって、ルート終了タグおよびルート終了パケットのうちの少なくとも1つを備える、ルート終了インジケータと、第2の通信ネットワークデバイスからの後続パケットが第2のパケットルートを介して送信されることを示すルート開始インジケータであって、ルート開始タグおよびルート開始パケットのうちの少なくとも1つを備える、ルート開始インジケータとのうちの少なくとも1つを検出するように動作可能なリオーダリングユニットを備える。
いくつかの実施形態では、1つまたは複数のルート変化インジケータに基づいて、複数のパケットが所定のパケット順序に従って受信されたかどうかを判定するように動作可能なリオーダリングユニットは、ルート開始インジケータが、リオーダリングユニットが第1のパケットルートを介してルート終了インジケータを受信する前に第2のパケットルートを介して受信されたかどうかを判定するように動作可能なリオーダリングユニットを備え、所定のパケット順序に従って複数のパケットをリオーダリングするように動作可能なリオーダリングユニットは、所定のパケット順序に従ってパケットをリオーダリングするためにルート終了インジケータが受信されるまで、第2のパケットルートを介してルート開始インジケータを受信した後、第1のパケットルートを介してルート終了インジケータを受信する前に、第2のパケットルートを介して受信される複数のパケットのうちの1つまたは複数をリオーダリングバッファに格納するように動作可能なリオーダリングユニットをさらに備える。
いくつかの実施形態では、複数のパケットルートの第1のパケットルートから複数のパケットルートの第2のパケットルートへの、第1の通信ネットワークデバイスと第2の通信ネットワークデバイスとの間のパケットルートの変化を示す1つまたは複数のルート変化インジケータを検出するように動作可能なリオーダリングユニットは、第2の通信ネットワークデバイスから受信された複数のパケットのそれぞれに関連するパケットヘッダを分析し、第2のパケットルートを介して受信される複数のパケットのうちの第1のパケットが、第1のパケットルートを介して以前に受信された複数のパケットのうちの少なくとも1つのパケットに関連する第2のパケットヘッダとは異なる第1のパケットヘッダに関連することを判定し、第2のパケットルートを介して受信される複数のパケットのうちの第1のパケットが、第1のパケットルートを介して以前に受信された複数のパケットのうちの少なくとも1つのパケットに関連する第2のパケットヘッダとは異なる第1のパケットヘッダに関連することをリオーダリングユニットが判定することに少なくとも部分的に基づいて、第1の通信ネットワークデバイスと第2の通信ネットワークデバイスとの間のパケットルートの変化を検出するように動作可能なリオーダリングユニットを備える。
いくつかの実施形態では、1つまたは複数のルート変化インジケータに基づいて、複数のパケットが所定のパケット順序に従って受信されたかどうかを判定するように動作可能なリオーダリングユニットは、複数のパケットの第2のパケットが第2のパケットヘッダに関連することを判定することであって、第2のパケットは、第1のパケットの後に受信される、判定することと、複数のパケットの第2のパケットが第2のパケットヘッダに関連することをリオーダリングユニットが判定することに少なくとも部分的に基づいて、少なくとも第1のパケットが第2のパケットルート上で受信された後に第2のパケットが第1のパケットルート上で受信されることを判定することと、少なくとも第1のパケットが第2のパケットルート上で受信された後に第2のパケットが第1のパケットルート上で受信されることを判定するように動作可能なリオーダリングユニットに基づいて、第2のパケットが所定のパケット順序に従って受信されるのではないと判定することとを行うように動作可能なリオーダリングユニットを備える。
いくつかの実施形態では、リオーダリングユニットは、1つまたは複数のルート変化インジケータに少なくとも部分的に基づいて、複数のパケットのそれぞれを第1のパケットルートまたは第2のパケットルートに関連するものとして分類するようにさらに動作可能である。
いくつかの実施形態では、リオーダリングユニットは、第1の通信ネットワークデバイスで第2の通信ネットワークデバイスから受信されたパケットごとに、パケットに関連する複数のパケットストリームのうちの1つのパケットストリームを識別し、パケットに関連するパケットストリームに少なくとも部分的に基づいて、第2の通信ネットワークデバイスから受信された各パケットをソートし、第2の通信ネットワークデバイスから受信された複数のパケットが複数のパケットストリームのうちの第1のパケットストリームに関連することを判定し、第1の通信ネットワークデバイスと第2の通信ネットワークデバイスとの間のパケットルートの変化を検出するために、複数のパケットストリームのうちの第1のパケットストリームに関連する第2の通信ネットワークデバイスから受信された複数のパケットを分析するようにさらに動作可能である。
いくつかの実施形態では、リオーダリングユニットが、複数のパケットが所定のパケット順序に従って受信されたのではないと判定することに応答して、リオーダリングユニットは、所定のパケット順序に従って受信されたのではない複数のパケットのサブセットを識別し、所定のパケット順序に従って受信されたのではない複数のパケットのサブセットをリオーダリングバッファに格納するようにさらに動作可能であり、所定のパケット順序に従って複数のパケットをリオーダリングするように動作可能なリオーダリングユニットは、所定のパケット順序に従う第1の通信ネットワークデバイスでの処理のために複数のパケットの格納されたサブセットのうちの1つまたは複数を供給すべきかどうかを判定し、リオーダリングユニットが第1の通信ネットワークデバイスでの処理のために複数のパケットのうちの1つまたは複数を供給すべきであると判定することに応答して、第1の通信ネットワークデバイスでの処理のために複数のパケットの格納されたサブセットのうちの1つまたは複数を識別し、供給するように動作可能なリオーダリングユニットを備える。
いくつかの実施形態では、1つまたは複数のプロセッサによって実行された時に、1つまたは複数のプロセッサに、第1のネットワークデバイスで、通信ネットワークの第2のネットワークデバイスから受信された複数のパケットに少なくとも部分的に基づいて、複数のパケットルートの第1のパケットルートから第2のパケットルートへの、第1のネットワークデバイスと第2のネットワークデバイスとの間のパケットルートの変化を示す1つまたは複数のルート変化インジケータを検出することと、1つまたは複数のルート変化インジケータに基づいて、複数のパケットが所定のパケット順序に従って受信されたかどうかを判定することと、複数のパケットが所定のパケット順序に従って受信されなかったとの判定に応答して、所定のパケット順序に従って複数のパケットをリオーダリングすることとを備える動作を実行させる命令を格納した1つまたは複数の機械可読記憶媒体。
いくつかの実施形態では、1つまたは複数のルート変化インジケータに基づいて複数のパケットが所定のパケット順序に従って受信されたかどうかを判定する前記動作は、ルート開始インジケータが、第1のパケットルートを介するルート終了インジケータの受信の前に第2のパケットルートを介して受信されたかどうかを判定することであって、ルート開始インジケータが、第2のネットワークデバイスからの後続パケットが第2のパケットルートを介して送信されることを示し、ルート終了インジケータが、第1のパケットルートから第2のパケットルートへの、第1のネットワークデバイスと第2のネットワークデバイスとの間のパケットルートの変化を示す、判定することを備え、所定のパケット順序に従って複数のパケットをリオーダリングする前記動作は、所定のパケット順序に従ってパケットをリオーダリングするために、ルート終了インジケータが受信されるまで、ルート開始インジケータを第2のパケットルートを介して受信した後、ルート終了インジケータを第1のパケットルートを介して受信する前に、第2のパケットルートを介して受信された複数のパケットのうちの1つまたは複数をリオーダリングバッファに格納することをさらに備える。
いくつかの実施形態では、複数のパケットルートの第1のパケットルートから複数のパケットルートの第2のパケットルートへの、第1のネットワークデバイスと第2のネットワークデバイスとの間のパケットルートの変化を示す1つまたは複数のルート変化インジケータを検出する前記動作は、第2のネットワークデバイスから受信された複数のパケットのそれぞれに関連するパケットヘッダを分析することと、第2のパケットルートを介して受信された複数のパケットの第1のパケットが、第1のパケットルートを介して以前に受信された複数のパケットのうちの少なくとも1つのパケットに関連する第2のパケットヘッダとは異なる第1のパケットヘッダに関連することを判定することと、第2のパケットルートを介して受信された複数のパケットの第1のパケットが、第1のパケットルートを介して以前に受信された複数のパケットのうちの少なくとも1つのパケットに関連する第2のパケットヘッダとは異なる第1のパケットヘッダに関連することの前記判定に少なくとも部分的に基づいて、第1のネットワークデバイスと第2のネットワークデバイスとの間のパケットルートの変化を検出することとを備える。
いくつかの実施形態では、1つまたは複数のルート変化インジケータに基づいて、複数のパケットが所定のパケット順序に従って受信されたかどうかを判定する前記動作は、複数のパケットのうちの第2のパケットが第2のパケットヘッダに関連することを判定することであって、第2のパケットは、第1のパケットの後に受信される、判定することと、複数のパケットのうちの第2のパケットが第2のパケットヘッダに関連することの前記判定に少なくとも部分的に基づいて、第2のパケットが、少なくとも第1のパケットが第2のパケットルート上で受信された後に第1のパケットルート上で受信されることを判定することと、第2のパケットが、少なくとも第1のパケットが第2のパケットルート上で受信された後に第1のパケットルート上で受信されることの前記判定に基づいて、第2のパケットが所定のパケット順序に従って受信されたのではないことを判定することとを備える。
いくつかの実施形態では、複数のパケットが所定のパケット順序に従って受信されたのではないことの判定に応答して、動作は、所定のパケット順序に従って受信されたのではない複数のパケットのサブセットを識別することと、所定のパケット順序に従って受信されたのではない複数のパケットのサブセットをリオーダリングバッファに格納することとをさらに備え、所定のパケット順序に従って複数のパケットをリオーダリングする前記動作は、所定のパケット順序に従う第1のネットワークデバイスでの処理のために複数のパケットの格納されたサブセットのうちの1つまたは複数を供給すべきかどうかを判定することと、第1のネットワークデバイスでの処理のために複数のパケットの格納されたサブセットのうちの1つまたは複数を供給すべきであるとの判定に応答して、第1のネットワークデバイスでの処理のために複数のパケットの格納されたサブセットのうちの1つまたは複数を識別し、供給することとを備える。
添付図面を参照することによって、本実施形態をよりよく理解することができ、多数の目的、特徴、および利点が、当業者に明白になる。
ハイブリッド通信ネットワーク内のパケットルート変化を示す例の機構を示すブロック図。 複数のネットワーキングインターフェースを実施するハイブリッドデバイスの例のプロトコルスタックを示す概念図。 宛先ハイブリッドデバイスとの通信のパケットルートの変化を示すソースハイブリッドデバイスの例の動作を示す流れ図。 図3の続きであり、やはり、宛先ハイブリッドデバイスとの通信のパケットルートの変化を示すソースハイブリッドデバイスの例の動作を示す流れ図。 ソースハイブリッドデバイスと宛先ハイブリッドデバイスとの間のパケットルートの変化を検出する宛先ハイブリッドデバイスの例の動作を示す流れ図。 ハイブリッド通信ネットワーク内のパケットルート変化を示す機構を含む電子デバイスの一実施形態を示すブロック図。
以下の説明は、本発明的主題の技法を実施する例示的なシステム、方法、技法、命令シーケンス、およびコンピュータプログラム製品を含む。しかし、説明される実施形態を、これらの特定の詳細なしで実践できることを理解されたい。たとえば、いくつかの実施形態では、パケットオーダリング機構を、ワイヤレスローカルエリアネットワーク(WLAN)デバイス(たとえば、IEEE 802.11デバイス)、電力線ネットワークデバイス(たとえば、HomePlug(登録商標)AV)、およびイーサネットデバイスを備えるハイブリッド通信ネットワークに関して実施することができるが、他の実施形態では、パケットオーダリング機構を、他の標準規格/プロトコル(たとえば、WiMAX(登録商標)など)を実施する他の適切なタイプのネットワークデバイスを備える可能性があるハイブリッド通信ネットワーク内で実施することができる。他の場合に、周知の命令インスタンス、プロトコル、構造、および技法は、説明を不明瞭にしないようにするために、詳細には示さない。
ソース通信デバイスは、通常、パケットの順序付きシーケンスで宛先通信デバイスにデータを送信する。受信されたデータの分析の一部として、宛先通信デバイスは、通常、パケットが、ソース通信デバイスによって送信されたのと同一の順序で処理されることを確実にする。従来の通信ネットワークは、ソース通信デバイスおよび宛先通信デバイスが通常はお互いと通信するための単一のインターフェースだけを利用するので、通常は任意の2つの通信デバイスの間でネットワークを介する単一のルートを提供する。しかし、ハイブリッド通信ネットワークは、通常、異なるネットワーク技術および通信媒体にまたがる通信ネットワークセグメント(サブネットワーク)の相互接続として形成される。ハイブリッド通信ネットワークは、通常、複数のネットワークインターフェースを含み、異なるネットワーク技術にまたがって動作するように構成された、ハイブリッドデバイスを備える。ハイブリッドデバイスは、ハイブリッド通信ネットワークを介してパケットを送信/受信するのに、複数のインターフェースのいずれをも使用することができる。その結果、複数のルートが、ソースハイブリッドデバイスと宛先ハイブリッドデバイスとの間に存在する場合がある。たとえば、ソースハイブリッドデバイスが、3つのネットワークインターフェースを含み、宛先ハイブリッドデバイスが、2つのネットワークインターフェースを含む場合には、少なくとも6つのルートが、このソースハイブリッドデバイスと宛先ハイブリッドデバイスとの間に存在する可能性がある。ソースハイブリッドデバイスは、宛先ハイブリッドデバイスにパケットを送信するために複数のルートの間で切り替えることができるので、1つまたは複数のパケットが、宛先ハイブリッドデバイスに順序はずれで到着する可能性がある。ソースハイブリッドデバイスが、宛先デバイスにパケットのシーケンスを配送するのに第1のルートを使用すると決定し、その後、後続パケットを配送するためにルートを変更する(変化するチャネル条件、ネットワーク負荷などに起因して)と決定する場合には、このルート変化は、宛先ハイブリッドデバイスでの順序はずれパケット配送をもたらす可能性があり、上位プロトコル層またはアプリケーションの動作を中断させる可能性がある。複数のルートが、同一のパケットストリームに属するパケットを送信するのに使用される時には、パケットの再送信および他のそのような要因のゆえに、異なるルートに関連するパケット伝送時間が異なるならば(たとえば、ネットワーク輻輳、変化する送信レートなどに起因して)、順序はずれパケット配送が発生する可能性がある。順序はずれパケットを管理する既存の技法は、通常、単一のネットワークインターフェースを備える従来の通信デバイス、デバイスインターフェースの間で単一のルートだけを提供する従来の通信ネットワーク、または複数のルートが使用可能な場合であっても単一のルートを使用するのみである通信デバイスのために最適化されている。さらに、宛先ハイブリッドデバイスによって使用されるいくつかの通信プロトコル(たとえば、ユーザデータグラムプロトコル(UDP))が、内蔵パケットリオーダリング機構を備えない場合がある。ソースハイブリッドデバイスがルート変化を示すための、および/または宛先ハイブリッドデバイスが順序はずれパケットを管理するための、信頼できる機構の不在は、ハイブリッドデバイスの性能およびスループットを下げる可能性がある。
いくつかの実施形態では、ハイブリッドデバイスは、パケットルートの変化を検出し、順序はずれパケット到着を管理し、順序はずれパケットのリオーダリングを潜在的に実行する機構を実施することができる。一実施形態では、ソースハイブリッドデバイスは、古いパケットルートを介して送信されたパケットが、新しいパケットルートに沿って送信されたパケットが宛先ハイブリッドデバイスに到着する前に受信され、宛先ハイブリッドデバイスの上位処理層に供給されることを保証するために、新しいパケットルートに沿って送信されるパケットの送信を遅延させることができる。もう1つの実施形態では、ソースハイブリッドデバイスは、パケットルートの変化を示し、宛先ハイブリッドデバイスでリオーダリングを開始する(必要な場合に)ために、ルート終了インジケータおよびルート開始インジケータを送信することができる。もう1つの実施形態では、宛先ハイブリッドデバイスは、パケット到着インターフェース、パケットルートを示すヘッダ情報、パケットルートタグ付け、パケットシーケンス番号、パケットタイムスタンプ、および/またはパケットシグネチャ分析技法のうちの1つまたは複数に基づくパケットヘッダの分析に基づいて、ルート変化を自動的に検出することができる。下でさらに説明されるように、パケットルートの変化の表示および/またはパケットオーダリングのための上記および他の機構は、本明細書で説明されるように、ソースハイブリッドデバイスがパケットルートの変化を示すことを、および宛先ハイブリッドデバイスがハイブリッド通信ネットワーク内のパケットルート変化から生じる可能性がある順序はずれパケット到着を管理することを可能にすることができる。
図1は、ハイブリッド通信ネットワーク100内のパケットルート変化を示す例の機構を示すブロック図である。ハイブリッド通信ネットワーク100は、ハイブリッドデバイス102および110と、転送デバイス120および122とを備える。ハイブリッドデバイス102は、通信ユニット103を備える。通信ユニット103は、ルート選択ユニット104と、送信器処理ユニット106と、受信器リオーダリングユニット108とを備える。同様に、ハイブリッドデバイス110は、通信ユニット111を備える。通信ユニット111は、ルート選択ユニット112と、送信器処理ユニット114と、受信器リオーダリングユニット116とを備える。転送デバイス120および122は、従来の(レガシとも称する)通信デバイスまたはハイブリッド通信デバイスとすることができる。いくつかの実施態様では、ハイブリッドデバイス102および110は、それぞれがハイブリッドデバイスを異なる通信ネットワークセグメントに接続する複数のネットワークインターフェースを備えることができる。たとえば、ソースハイブリッドデバイス102および宛先ハイブリッドデバイス110は、それぞれ、ハイブリッドデバイスがそれぞれ電力線通信ネットワークセグメント、イーサネット、およびWLANに接続することを可能にする3つのネットワークインターフェース(たとえば、電力線インターフェース、イーサネットインターフェース、およびWLANインターフェース)を備えることができる。
一実施態様では、図2に示されているように、ハイブリッドデバイス102および110のネットワーキング機能性は、国際標準化機構(ISO)開放型システム相互接続(OSI)参照モデルと一貫する「階層化された」手法を使用して副機能に区分され得る。ネットワーキングプロトコル層のセットは、「プロトコルスタック」と称され得る。図2は、複数のネットワーキングインターフェースを実施するハイブリッドデバイス102の例のプロトコルスタックを示す。図2のプロトコルスタックは、ハイブリッドデバイス102に関して説明されるが、宛先ハイブリッドデバイス110が、図2に示されたものと同一の(または同様の)プロトコルスタックを実施することもできることに留意されたい。図2の例では、ハイブリッドデバイス102は、2つの通信インターフェースを含む。したがって、ハイブリッドデバイス102は、2つの物理(PHY)層202および204と、2つの対応する媒体アクセス制御(MAC)層206および208とを備える。MAC層206およびPHY202層は、ハイブリッドデバイス102をある通信ネットワークセグメント222(たとえば、イーサネット)に結合する。同様に、MAC層208およびPHY層204は、ハイブリッドデバイス102を別の通信ネットワークセグメント224(たとえば、電力線通信ネットワーク)に結合する。通信ネットワークセグメント222および204は、それぞれ、ハイブリッド通信ネットワークなどの拡張されブリッジングされたネットワークの一部とすることができることに留意されたい。ハイブリッドデバイス102は、ネットワーク層212を備える。ネットワーク層212は、インターネットプロトコルバージョン4(IPv4)通信プロトコル、インターネットプロトコルバージョン6(IPv6)通信プロトコル、AppleTalk(登録商標)通信プロトコル、または他の適切なネットワーク層プロトコルを実施することができる。ソースハイブリッドデバイス102は、ネットワーク層212とMAC層206および208との間で「ハイブリッドアダプテーション層」210をも実施する。一例では、図2に示されているように、ハイブリッドアダプテーション層210は、ルート選択ユニット104と、送信器処理ユニット106と、受信器リオーダリングユニット108と、パケットルートの変化を示し、順序はずれパケットをリオーダリングするための他の機能性(下で図1および3〜5を参照してさらに説明される)とを備えることができる。ハイブリッドデバイス102は、ネットワーク層212にまたがって動作するトランスポート層212をも備える。ハイブリッドデバイス102は、伝送制御プロトコル(TCP)、ユーザデータグラムプロトコル(UDP)、またはハイブリッドデバイス102によって実施されるネットワーク層プロトコルに依存する他の適切なトランスポート層プロトコルを実施することができる。ハイブリッドデバイス102は、他のデバイスとの通信のためにプロトコルスタックを利用する3つのアプリケーション216と、218と、220とをも備える。
いくつかの実施態様では、アプリケーション層(アプリケーション216と218と220とを備える)、トランスポート層214、およびネットワーク層212は、集合的に「上位プロトコル層」と称され得る。MAC層206および208とPHY層202および204とは、集合的に「下位プロトコル層」と称され得る。ハイブリッドアダプテーション層210は、上位プロトコル層の単一のセット(たとえば、実施される上位層プロトコルタイプごとに単一のネットワーク層およびトランスポート層)を有するが、複数のネットワーキングインターフェース(たとえば、複数のPHY層およびMAC層)を有するハイブリッドデバイス102内のネットワーク通信を管理する機能性を実施することができる。一実施態様では、ハイブリッドアダプテーション層210は、ネットワーキングリソースを管理し、プロトコルスタックの上位層に透過的なすばやいパケットルート変化を行うために、基礎になるMAC層206および208とインターフェースすることができる。ハイブリッドアダプテーション層210は、ソースハイブリッドデバイス102が単一のMAC層および対応する単一のPHY層のみを備えるかのように上位プロトコル層が動作することを可能にすることもできる。図2に示されたプロトコルスタックが、ハイブリッドデバイス102および110のアーキテクチャの一実施形態を示すことに留意されたい。他の実施態様では、ハイブリッドデバイス102および110は、実施され得るネットワーキング技術およびオプションのプロトコルに応じて、他の適切な層または副層を備えることができる。たとえば、いくつかのネットワーキング技術は、MAC層の上にイーサネットコンバージェンス層(Ethernet(登録商標) convergence layer)を実施することができる。もう1つの例として、いくつかのネットワーキング技術は、論理リンク制御(LLC)プロトコル層を含むことができる。さらに、いくつかの実施態様では、1つまたは複数の他の副層は、図1および3〜6内の本明細書で説明される機能性を実行することができる。戻って図1を参照すると、いくつかの実施態様では、ハイブリッドデバイス102のハイブリッドアダプテーション層210は、下で図1のステージA〜Bで説明されるように、ハイブリッドデバイス110にパケットを送信するのに使用されるパケットルートの変化を管理する機能性を実施することができる。
ステージAでは、ハイブリッドデバイス102(「ソースハイブリッドデバイス」)のルート選択ユニット104は、パケットストリームに関連するパケット、パケットストリームのセットに関連するパケット、または現在のパケットルート124を共有するパケットをハイブリッドデバイス110(「宛先ハイブリッドデバイス」)に送信するために、現在のパケットルート124を新しいパケットルート126に切り替えると決定する。いくつかの例では、パケットストリームは、同一のアプリケーションに関連し、同一の通信接続または通信セッションの一部であるデータを伝えるパケットのシーケンスを備えることができる。いくつかの実施態様では、ルート選択ユニット104は、ソースハイブリッドデバイス102のルート変化を制御することができる。たとえば、ルート選択ユニット104は、現在のパケットルートから切り替えるべきかどうか/いつ切り替えるべきか、および使用可能なパケットルートのうちのどれを新しいパケットルートとして選択すべきかを判定することができる。いくつかの実施態様では、ルート選択ユニット104は、現在のパケットルート124での性能劣化の検出に応答して、現在のパケットルート124から切り替えると決定することができる。もう1つの実施態様では、ルート選択ユニット104は、所定の時間間隔の後に、現在のパケットルート124から切り替えると決定することができる。図1の例に示されているように、ソースハイブリッドデバイス102と宛先ハイブリッドデバイス110との間には、2つの可能なパケットルート124および126(またはネットワークパス)がある場合がある。図1に示されているように、パケットルート124は、転送デバイス120を介するソースハイブリッドデバイス102から宛先ハイブリッドデバイス110へのパケットの送信を含むことができる。パケットルート126は、転送デバイス122を介するソースハイブリッドデバイス102から宛先ハイブリッドデバイス110へのパケットの送信を含むことができる。いくつかの実施態様では、図1に示されているように、パケットルート124および126は、ソースハイブリッドデバイス102から宛先ハイブリッドデバイス110にそのパケットをルーティングする転送デバイス(および他の中間通信デバイス)において異なる可能性がある。他の実施態様では、パケットルート124および126は、パケットがそこから送信されるネットワークインターフェース(「ソース通信インターフェース」)、パケットがそこで受信されるネットワークインターフェース(「宛先通信インターフェース」)、および/またはパケットがそれを介して送信される通信ネットワークにおいても異なる可能性がある。図1では、送信器処理ユニット106は、現在のパケットルート124に沿って宛先ハイブリッドデバイス110へのパケットの送信(転送デバイス120を介する)を開始することができる。ステージAでは、送信器処理ユニット106は、同一のパケットストリーム(パケットストリームのセットまたは共通のルートを共有するようにプログラムされたパケット)に関連する後続パケットを宛先ハイブリッドデバイス110に送信するために、現在のパケットルート124から新しいパケットルート126に切り替えると決定する。
ステージBでは、送信器処理ユニット106は、現在のパケットルート124から新しいパケットルート126への切替を示すために、1つまたは複数の暗黙のまたは明示的なルート変化インジケータを宛先ハイブリッドデバイス110に供給する。一実施態様では、送信器処理ユニット106は、現在のパケットルート124の終了を示すために現在のパケットルート124に沿ってルート終了インジケータを送信することができる。たとえば、送信器処理ユニット106は、現在のパケットルート124に沿った最後のデータ/制御パケットを送信した後に、ルート終了パケットを送信することができる。もう1つの例として、送信器処理ユニット106は、現在のパケットルート124に沿って送信される最後のデータ/制御パケットの一部としてルート終了タグを供給することができる。送信器処理ユニット106は、後続パケットが新しいパケットルート126を介して送信されることを示すために、新しいパケットルート126に沿ってルート開始インジケータを送信することもできる。たとえば、送信器処理ユニット106は、新しいパケットルート126に沿って最初のデータ/制御パケットを送信する前に、ルート開始パケットを送信することができる。もう1つの例として、送信器処理ユニット106は、新しいパケットルート126に沿って送信される最初のデータ/制御パケットの一部として、ルート開始タグを供給することができる。いくつかの実施態様では、ルート終了インジケータ(たとえば、ルート終了パケットまたはルート終了タグ)およびルート開始インジケータ(たとえば、ルート開始パケットまたはルート開始タグ)は、下でさらに説明されるように、パケットルートの変化を示すために、追加データがパケットに追加されるか、または追加データがパケット内で送信されるので、明示的なルート変化インジケータと考えられ得る。いくつかの実施態様では、パケット符号化は、パケットルートの変化を示すために、追加データがパケット内で送信され(またはパケットに追加され)ないので、暗黙のルート変化インジケータと考えられ得る。その代わりに、下でさらに説明されるように、パケット符号化の変化が、パケットルートの変化を暗黙のうちに暗示することができる。図3および4でさらに説明されるように、送信器処理ユニット106は、現在のパケットルート124から新しいパケットルート126への切替を明示的にまたは暗黙のうちにのいずれかで示す(たとえば、宛先ハイブリッドデバイス110に)ために、シーケンス番号の送信、パケットヘッダの変更などを含むさまざまな他の技法を使用することができる。ステージCおよびDでさらに説明されるように、宛先ハイブリッドデバイス110は、1つまたは複数のルート変化インジケータに少なくとも部分的に基づいて現在のパケットルート124から新しいパケットルート126への切替を検出することができ、パケットをリオーダリングすることができ(必要な場合に)、正しいシーケンスでパケットを処理することができる。
ステージCでは、宛先ハイブリッドデバイス110の受信器リオーダリングユニット116は、1つまたは複数のルート変化インジケータの受信に基づいて、現在のパケットルート124から新しいパケットルート126への切替を検出することができる。一実施態様では、受信器リオーダリングユニット116は、1つまたは複数の明示的なルート変化インジケータの受信に基づいて、パケットルートの変化を検出することができる。たとえば、ルート終了インジケータ(たとえば、ルート終了パケット、ルート終了タグなど)の検出に応答して、受信器リオーダリングユニット116は、現在のパケットルート124が終了された(または終了される)と判定することができる。同様に、ルート開始インジケータ(たとえば、ルート開始パケット、ルート開始タグなど)の検出に応答して、受信器リオーダリングユニット116は、新しいパケットルート126が初期化され、後続パケットが新しいパケットルート126を介して受信されると判定することができる。他の実施態様では、明示的なルート変化インジケータ(たとえば、ルート終了インジケータおよび/またはルート開始インジケータ)が検出されない場合に、受信器リオーダリングユニット116は、パケットヘッダ内の変化(すなわち、暗黙のルート変化インジケータ)の検出に基づいて、パケットルートの変化を検出することができる。たとえば、受信器リオーダリングユニット116は、ソースMACアドレス(またはソース通信インターフェース)、宛先MACアドレス(または宛先通信インターフェース)、パケット符号化、および/または受信されたパケットに関連する他のフィールドが、以前に受信されたパケットに関連する対応する情報と異なるかどうかを判定することができる。現在の受信されたパケットと以前に受信されたパケットとに関連するヘッダの間の相違は、現在のパケットルート124から新しいパケットルート126への切替を示すことができる。受信されたパケットに関連するパケットヘッダの分析に基づいて、受信器リオーダリングユニット116は、古いパケットルート124(以前は現在のパケットルート124と呼ばれた)または新しいパケットルート126のいずれかに関連するものとしてパケットを分類することができる。宛先ハイブリッドデバイス110は、受信されたパケットのどれが、特定のパケットストリーム(たとえば、特定のアプリケーションに関連する)、パケットストリームのセット、または共通のルートを共有するように構成されたパケットのセットに属するのかを判定し、それに応じて順序はずれパケット到着を管理するために、任意の適切な分類技法を使用することができる。図5でさらに説明されるように、受信器リオーダリングユニット116は、さまざまな他の技法を使用して、古いパケットルート124から新しいパケットルート126への切替を検出することができる。
ステージDでは、受信器リオーダリングユニット116は、宛先ハイブリッドデバイス110による後続処理のためにパケットをリオーダリングすべきかどうかを判定する。図5でさらに説明されるように、受信器リオーダリングユニット116は、ソースハイブリッドデバイス102から受信されたパケットをリオーダリングすべきかどうかを判定するために、さまざまな技法を使用することができる。たとえば、受信器リオーダリングユニット116は、受信器リオーダリングユニット116が、古いパケットルート124に関連するルート終了インジケータを検出する前に、新しいパケットルート126に関連するルート開始インジケータを検出する場合に、パケットリオーダリング動作を実行すべきであると判定することができる。もう1つの例として、受信器リオーダリングユニット116は、受信器リオーダリングユニット116が、宛先ハイブリッドデバイス110での順序はずれパケット到着を検出する(たとえば、パケットに関連するシーケンス番号の読取に基づいて)場合に、パケットリオーダリング動作を実行すべきであると判定することができる。受信器リオーダリングユニット116は、パケットストリーム、パケットストリームのセット、または共通のルートを共有するように構成されたパケットのセットの配送(ソースハイブリッドデバイス102から宛先ハイブリッドデバイス110への)に関するルート変化から生じる順序はずれパケット到着を管理するために、さまざまな技法を実施することができる。受信器リオーダリングユニット116は、順序はずれパケットをリオーダリングバッファに一時的に格納することができ、宛先ハイブリッドデバイス110による後続処理のためにそれらのパケットを正しい順序で供給することができる。
図1には示されていないが、いくつかの実施態様で、ソースハイブリッドデバイス102が、現在のパケットルートの変化を示し、かつ/または宛先ハイブリッドデバイス110での正しいパケット順序を維持するために、時間遅延技法を使用できることに留意されたい。図3でさらに説明されるように、現在のパケットルート124に沿って最後のパケットを送信した後に、送信器処理ユニット106は、所定の時間間隔(「ルート変化待ち時間間隔」)だけ待つ(および、パケット送信を防ぐ)ことができる。ルート変化待ち時間間隔は、新しいパケットルート126を介してパケットを送信する前に、宛先ハイブリッドデバイス110が現在のパケットルート124に沿って送信されたパケットのすべてを受信することを保証するように選択され得る。ルート変化待ち時間間隔を実施することによって、ソースハイブリッドデバイス102は、宛先デバイスがパケットリオーダリング機能性を実施することに頼らずに、任意の適切な宛先デバイス(たとえば、従来のレガシ宛先デバイス、宛先ハイブリッドデバイス110など)が、共通パケットストリームに関連するパケットを正しい順序で受信できることを保証することを試みることができる。しかし、他の実施態様では、宛先ハイブリッドデバイス110は、時間遅延を検出することができ、それに応じてパケットルートの変化を判定することができる。宛先ハイブリッドデバイス110は、パケットルートの変化の検出に応答して、パケットリオーダリング機能性(たとえば、受信器リオーダリングユニット116)を使用可能にすることができる。
図3および図4に、宛先ハイブリッドデバイスとの通信のパケットルートの変化を示すソースハイブリッドデバイスの例の動作を示す流れ図(「フロー」)300を示す。フロー300は、図3のブロック302で開始される。
ブロック302では、ソースハイブリッドデバイスが、共通パケットストリームに関連するパケットを宛先ハイブリッドデバイスに送信するために、現在のパケットルートから新しいパケットルートに切り替えると決定する。いくつかの実施態様では、ソースハイブリッドデバイスは、パケットストリームのセットまたは共通のパケットルートを共有するように構成されたパケットのセットに関連するパケットを送信するために、現在のパケットルートから新しいパケットルートに切り替えると決定する。図1の例を参照すると、ソースハイブリッドデバイス102のルート選択ユニット104は、宛先ハイブリッドデバイス110と通信するために現在のパケットルート124から新しいパケットルート126に切り替えると決定することができる。ルート選択ユニット104は、現在のパケットルート124での性能劣化の検出に応答して、所定の時間間隔が経過した後に、新しいパケットルート126がよりよい性能特性を有することの検出に応答してなどで、現在のパケットルート124を変更すると決定することができる。フローは、ブロック304で継続する。
ブロック304では、宛先ハイブリッドデバイスによる順序付けられたパケット受信を可能にするために時間遅延機構を使用すべきかどうかを判定する。たとえば、ソースハイブリッドデバイス102の送信器処理ユニット106は、宛先ハイブリッドデバイス110による順序付けられたパケット受信のために時間遅延機構を使用すべきかどうかを判定することができる。いくつかの実施態様では、送信器処理ユニット106は、宛先デバイス110の処理能力に依存して、時間遅延機構を使用すると決定することができる。たとえば、送信器処理ユニット106は、宛先ハイブリッドデバイス110での順序付けられたパケット受信を可能にするために、時間遅延機構を使用すると決定することができる。もう1つの例として、送信器処理ユニット106は、宛先デバイス110が、順序はずれパケットを処理する機能性を使用可能にすることができるようにするために、パケットルートの変化について宛先ハイブリッドデバイス110に通知するために時間遅延機構を使用すると決定することができる。時間遅延機構を使用しなければならないと決定される場合には、フローは、ブロック306で継続する。そうでない場合には、フローは、図4の314で継続する。いくつかの実施態様で、ソースハイブリッドデバイス102が、時間遅延機構を実施すべきかどうかを判定(上でブロック304で説明されたように)しないものとすることができることに留意されたい。その代わりに、ソースハイブリッドデバイス102は、現在のパケットルートから新しいパケットルートへ切り替えることの決定に応答して、時間遅延機構を自動的に実施するようにプログラムされ得る。
ブロック306では、ルート変化待ち時間間隔が決定される。ルート変化待ち時間間隔は、その間にソースハイブリッドデバイス102が宛先ハイブリッドデバイス110にどのパケットをも送信してはならない、現在のパケットルート124を介する最後のパケットの送信と新しいパケットルートを介する最初のパケットの送信との間の時間持続期間である。一実施態様では、送信器処理ユニット106は、特定のパケットストリーム(またはパケットストリームのセットもしくは共通のパケットルートを共有するように構成されたパケットのセット)に関連するパケットがソースハイブリッドデバイス102から宛先ハイブリッドデバイス110へハイブリッド通信ネットワーク100を介して配送されるのに必要な時間(すなわち、ラウンドトリップ時間間隔)を推定することができる。送信器処理ユニット106は、データパケットが宛先ハイブリッドデバイス110に送信される時から上位プロトコル層肯定応答パケットが宛先ハイブリッドデバイス110から受信される時までの時間として、ラウンドトリップ時間間隔を測定することができる。その後、送信器処理ユニット106は、ルート変化待ち時間間隔を決定するために、計算されたラウンドトリップ時間間隔を半分に除算することができる。もう1つの実施態様では、送信器処理ユニット106は、ハイブリッド通信ネットワーク100内の1つまたは複数の他のネットワークデバイス(たとえば、レガシデバイス、ハイブリッドデバイスなど)から現在のパケットルート遅延の表示を受信することができ、それに応じてルート変化待ち時間間隔を計算することができる。いくつかの実施態様では、送信器処理ユニット106は、パケットが宛先ハイブリッドデバイス110で順序通りに到着することを保証するために、現在のパケットルート124に沿った推定されたパケット配送時間に基づいて、ルート変化待ち時間間隔を計算することができる。もう1つの実施態様では、送信器処理ユニット106は、ハイブリッド通信ネットワーク100に関連する待ち時間の不確実性を考慮に入れるために、ルート変化待ち時間間隔にあるマージンを加算することができる。もう1つの実施態様では、送信器処理ユニット106は、新しいパケットルート126に関連するパケット配送時間を推定することができ、それに応じてルート変化待ち時間間隔を減らすことができる。この実施態様では、ルート変化待ち時間間隔は、古いパケットルート124に関連する待ち時間と新しいパケットルート126に関連する待ち時間との間の差として計算され得る。フローは、ブロック308で継続する。
ブロック308では、最後のパケットが、現在のパケットルートを介して宛先ハイブリッドデバイスに送信され、ルート変化待ち時間間隔が、開始される。たとえば、最後のパケットが現在のパケットルート124を介して送信されたことの判定に応答して、送信器処理ユニット106は、ルート変化待ち時間間隔を開始するためにタイマを開始することができる。送信器処理ユニット106は、ルート変化待ち時間間隔が実施されつつある間は、宛先ハイブリッドデバイス110にどのパケットをも送信してはならない。フローは、ブロック310で継続する。
ブロック310では、ルート変化待ち時間間隔が経過するかどうかが判定される。たとえば、送信器処理ユニット106は、ルート変化待ち時間間隔が経過するかどうかを判定することができる。いくつかの実施態様では、送信器処理ユニット106は、ルート変化待ち時間間隔が経過する時に、割込み(または別の適切なトリガ/インジケータ)を受け取ることができる。いくつかの実施態様では、ソースハイブリッドデバイス102は、ルート変化待ち時間間隔中に生成される、新しいパケットルート126を介して送信されるようにスケジューリングされたパケットを格納するために、送信パケットバッファを使用することができる。フローは、ブロック312で継続する。
ブロック312では、後続パケットが、新しいパケットルートを介して宛先ハイブリッドデバイスに送信される。ルート変化待ち時間間隔が経過した後に、送信器処理ユニット106は、新しいパケットルート126を介して宛先ハイブリッドデバイス110に後続パケットを送信することができる。ブロック312から、このフローは終了する。
図4のブロック314では、ソースハイブリッドデバイスが、現在のパケットルートの切替を示すために宛先ハイブリッドデバイスに1つまたは複数の明示的なルート変化インジケータを供給しなければならないかどうかが判定される。一例では、フロー300は、時間遅延機構がソースハイブリッドデバイス102で使用されてはならないことの判定に応答して、図3のブロック304から図4のブロック314に移動する。ブロック314では、送信器処理ユニット106は、1つまたは複数の明示的なルート変化インジケータを宛先ハイブリッドデバイス110に供給しなければならないかどうかを判定することができる。宛先ハイブリッドデバイス110が、現在のパケットルートの切替について明示的に通知されなければならないことが判定される場合には、フローは、ブロック316で継続する。そうでない場合には、フローは、ブロック318で継続する。いくつかの実施態様で、送信器処理ユニット106は、パケットルートの変化の表示(たとえば、ルート終了インジケータおよび/またはルート開始インジケータ)を宛先ハイブリッドデバイス110に明示的に供給しないものとすることができることに留意されたい。その代わりに、送信器処理ユニット106は、単純に、パケットを宛先ハイブリッドデバイス110に送信することができる。送信器処理ユニット106は、パケットルートの変化を検出するために暗黙のルート変化インジケータを使用し、分析する(たとえば、パケットヘッダの分析に基づく)宛先ハイブリッドデバイス110に頼ることができる。たとえば、図5でさらに説明されるように、現在の送信されるパケットおよび以前に送信されたパケットに関連するソースMACアドレスの変化は、暗黙のルート変化インジケータとして働くことができる。いくつかの実施態様で、ソースハイブリッドデバイス102が、宛先ハイブリッドデバイス110に明示的なルート変化インジケータを供給すべきかどうかを判定(上でブロック314で説明されるように)しないものとすることができることに留意されたい。その代わりに、ソースハイブリッドデバイス102は、現在のパケットルート124から新しいパケットルート126への切替の判定に応答して、宛先ハイブリッドデバイス110に明示的なルート変化インジケータを供給する動作を自動的に実行するようにプログラムされ得る。
ブロック316では、ソースハイブリッドデバイスは、現在のパケットルートから新しいパケットルートへの切替を示すために、1つまたは複数の明示的なルート変化インジケータを宛先ハイブリッドデバイスに供給すると決定する。一例では、フロー300は、宛先ハイブリッドデバイス110がパケットルートの変化について明示的に通知されなければならないことの判定に応答して、ブロック314からブロック316に移動する。送信器処理ユニット106は、下で説明されるように、現在のパケットルート124(以下では「古いパケットルート124」と呼ばれる)から新しいパケットルート126への切替を明示的に示すために、さまざまな技法を使用することができる。
一実施形態では、送信器処理ユニット106は、ソースハイブリッドデバイス102と宛先ハイブリッドデバイス110との間での古いパケットルート124の終了を示すために、古いパケットルート124を介してルート終了インジケータを供給することができる。たとえば、送信器処理ユニット106は、古いパケットルート124に沿った最後のパケット(たとえば、ストリーム、アプリケーション、ストリームのセット、または共通のルートを共有するように構成されたパケットのセットに関連する)を送信した直後に、古いパケットルート124に沿ってルート終了制御パケットを送信することができる。ルート終了制御パケットは、そのパケットルートが変更されようとしているストリーム(アプリケーション、ストリームのセット、または共通のルートを共有するように構成されたパケットのセット)および、オプションで、下で説明されるように、古いパケットルート124に沿って送信されたパケットと新しいパケットルート126に沿って送信されるパケットとの間でどのように区別すべきかを識別する分類情報を備えることができる。もう1つの例として、送信器処理ユニット106は、古いパケットルート124に沿って送信される最後のパケット内にルート終了タグを挿入することができる。ルート終了タグは、特殊な仮想ローカルエリアネットワーク(VLAN)タグの独自のコーディングを使用して、EtherTypeタグを使用して、パケットヘッダ内の1つもしくは複数の事前に存在するフィールドを使用して、ヘッダに1つもしくは複数の余分なビットを追加することによって、または他の適切な機構を使用して示され得る。古いパケットルート124の終了を示すタグの値は、事前に決定され得、あるいは、ソースハイブリッドデバイス102と宛先ハイブリッドデバイス110との間でネゴシエートされ得る。いくつかの実施態様では、ルート終了タグは、古いパケットルート124が終了される前に古いパケットルート124を介して送信されるパケットの個数を示すカウンタを備えることができる。たとえば、このカウンタは、古いパケットルート124を介して送信される、それぞれ最後から3番目、最後から2番目、および最後のパケットを識別するために、「3」、「2」、および「1」の値を備えることができる。いくつかの実施態様では、送信器処理ユニット106は、宛先ハイブリッドデバイス110が少なくとも1つのルート終了パケットを受信する確率を改善するために、複数のルート終了パケットを送信することができる。同様に、送信器処理ユニット106は、宛先ハイブリッドデバイス110が少なくとも1つのルート終了タグを受信する確率を改善するために、古いパケットルート124を介して送信されるパケットの最後のセットのうちの複数でルート終了タグを送信することができる。
送信器処理ユニット106は、後続パケットが新しいパケットルート126に沿って送信されることを示すために、新しいパケットルート126を介してルート開始インジケータを供給することもできる。たとえば、送信器処理ユニット106は、新しいパケットルート126に沿って、1つもしくは複数のストリームまたは共通のルートを共有するパケットのセットに関連する最初のパケットを送信する前に、新しいパケットルート126に沿ってルート開始パケットを送信することができる。上で説明されるように、ルート開始パケットは、そのパケットルートが変更されようとしている1つもしくは複数のストリームまたは共通のルートを共有するパケットのセットおよび/あるいは古いパケットルート124に沿って送信されたパケットと新しいパケットルート126に沿って送信されるパケットとの間でどのように区別すべきかを識別するストリーム分類情報を備えることもできる。もう1つの例として、送信器処理ユニット106は、新しいパケットルート126に沿って送信される最初のデータパケット内にルート開始タグを挿入することができる。いくつかの実施態様では、ルート開始タグは、新しいパケットルート126を介して送信されたパケットの個数を示すカウンタを備えることができる。たとえば、このカウンタは、新しいパケットルート126を介して送信される、それぞれ最初の、2番目の、および3番目のパケットを識別するために、「1」、「2」、および「3」の値を備えることができる。いくつかの実施態様では、送信器処理ユニット106は、宛先ハイブリッドデバイス110が少なくとも1つのルート開始パケットを受信する確率を改善するために、複数のルート開始パケットを送信することができる(または、新しいパケットルート126を介して送信されるパケットの最初のセットのうちの1つまたは複数でルート開始タグを送信することができる)。
もう1つの実施形態では、送信器処理ユニット106は、古いパケットルート124および新しいパケットルート126を介して送信されるパケットのシーケンスを示すことができる。一実施態様では、送信器処理ユニット106は、パケットルートの変化の予想(または検出)に応答して、シーケンス番号(たとえば、ソースハイブリッドデバイス102の上位プロトコル層によって挿入されるシーケンス番号とは異なるものとすることができる)を挿入すると決定することができる。一実施態様では、送信器処理ユニット106は、パケットルートの変化を示すために予約された特殊なVLANタグ符号化、所定のEtherType値に基づく新しいタグ、パケットヘッダ内の未使用のパケットフィールド、ヘッダに追加される余分なビット、または他の適切な技法を使用して、1つまたは複数のパケットにシーケンス番号を挿入することができる。いくつかの実施態様では、パケットルートの保留中の切替の検出に応答して、送信器処理ユニット106は、古いパケットルート124を介して送信されるパケットの最後のセットのうちの1つまたは複数にシーケンス番号を挿入することができる。一例では、パケットの最後のセットは、新しいパケットルート126が選択されつつあり、かつ/またはセットアップされつつある間に送信される1つまたは複数のパケットを備えることができる。新しいパケットルートに切り替えた後に、送信器処理ユニット106は、新しいパケットルート126を介して送信されるパケットの最初のセットのうちの1つまたは複数にシーケンス番号を挿入することができる(たとえば、遷移期間が完了され、古いパケットルート124が完全に終了されるまで)。新しいパケットルート126を介して送信されるパケットの最初のセットに関連するシーケンス番号は、古いパケットルート124を介して送信されるパケットの最後のセットに関連するシーケンス番号に続くことができる。たとえば、古いパケットルート124を介して送信されるパケットの最後のセットが、シーケンス番号「1」、「2」、および「3」に関連付けられる場合に、新しいパケットルート126を介して送信されるパケットの最初のセットは、シーケンス番号「4」、「5」などに関連付けられ得る。いくつかの実施態様では、ルート変化は、古いパケットルート124の急激な障害に応答するものである場合があり、送信器処理ユニット106は、パケットルートの差し迫った変化を示すために古いパケットルート124を介して送信されるパケットにシーケンス番号を挿入できない可能性がある。この実施態様では、送信器処理ユニット106は、新しいパケットルート126に沿って送信される最初のパケットのうちの1つまたは複数にシーケンス番号を挿入することができる。シーケンス番号の存在は、パケットルートの変化を示す(たとえば、宛先ハイブリッドデバイス110に)ことができる。いくつかの実施態様では、シーケンス番号は、ルート変化ごとに0から始まるように同期化され得る。たとえば、新しいパケットルート126を介して送信される最初のパケットは、「0」のシーケンス番号を関連付けられ得、新しいパケットルート126を介して送信される2番目のパケットは、「1」のシーケンス番号を関連付けられ得、以下同様である。もう1つの実施態様では、ソースハイブリッドデバイス102および宛先ハイブリッドデバイス110は、シーケンス番号をネゴシエートし、同期化するために、1つまたは複数のメッセージを交換する(たとえば、ハンドシェーク機構を実行することによって)ことができる。さまざまな他のタイプのルート変化インジケータ(たとえば、タイムスタンプ)が、独立に、お互いに関連して、または上にリストされたルート変化インジケータに関連して使用され得ることに留意されたい。
ブロック318では、古いパケットルートを介して送信されたパケットが、新しいパケットルート上で複製されなければならないかどうかが判定される。たとえば、送信器処理ユニット106は、古いパケットルート124を介して送信された1つまたは複数のパケットが新しいパケットルート126を介して再送信され(たとえば、宛先ハイブリッドデバイス110へ)なければならないかどうかを判定することができる。古いパケットルートを介して送信されたパケットが新しいパケットルート上で複製されなければならないことが判定される場合には、フローは、ブロック320で継続する。そうではない場合には、フローは、ブロック322で継続する。ソースハイブリッドデバイス102が、古いパケットルートを介して送信されたが新しいパケットルート上で複製されなければならないかどうかを判定(上でブロック318で説明されるように)しないものとすることができることに留意されたい。その代わりに、いくつかの実施態様では、ソースハイブリッドデバイス102は、新しいパケットルートを介するパケットの送信のために、ブロック322の動作を自動的に実行するようにプログラムされ得る。他の実施態様では、ソースハイブリッドデバイス102は、古いパケットルートを介して送信された1つまたは複数のパケットを新しいパケットルート上で複製するためにブロック320の動作を自動的に実行するようにプログラムされ得る。
ブロック320では、以前に古いパケットルートを介して送信された1つまたは複数のパケットが、新しいパケットルート上で再送信される。一例では、フロー300は、古いパケットルートを介して送信された1つまたは複数のパケットが新しいパケットルート上で複製されなければならないことが判定される場合に、ブロック318からブロック320に移動する。一例では、送信器処理ユニット106は、パケットが宛先ハイブリッドデバイス110に成功して配送される確率を改善するため、および/またはパケット配送待ち時間を減らすために、古いパケットルート124と新しいパケットルート126との両方に沿って同一のパケットのコピーを送信することによって、パケットの複製を送信することができる。パケットルートの変化は、通常、古いパケットルート124に関連する配送特性(たとえば、スループット、待ち時間、誤り率、信頼性など)の劣化に応答するものである。古いパケットルート124の劣化の影響は、1つまたは複数の複製パケット送信するようにソースハイブリッドデバイス102を構成することによって軽減され得る。いくつかの実施態様では、送信器処理ユニット106は、古いパケットルート124を介して送信された最後のパケットを再送信するのみ(新しいパケットルート126上で)とすることができる。もう1つの実施態様では、送信器処理ユニット106は、宛先ハイブリッドデバイス110によって肯定応答されていない古いパケットルート124上で以前に送信されたすべてのパケットを再送信する(新しいパケットルート126上で)ことができる。もう1つの実施態様では、送信器処理ユニット106は、新しいパケットルート126に沿って任意の適切な個数のパケット(古いパケットルート124を介して以前に送信された)を再送信することができる。宛先ハイブリッドデバイス110は、複製パケットを検出し、破棄することができる(下でさらに説明されるように)。フローは、ブロック322で継続する。
ブロック322では、後続パケットが、新しいパケットルートを介して宛先ハイブリッドデバイスに送信される。たとえば、送信器処理ユニット106は、新しいパケットルート126を介して宛先ハイブリッドデバイス110に後続パケットを送信することができる。ブロック322から、フローは終了する。
図4は、現在のパケットルートの切替について宛先ハイブリッドデバイスに明示的に通知するかどうか(ブロック314)および新しいパケットルートを介して1つまたは複数のパケットを再送信するかどうか(ブロック320)を判定するために順次動作を実行するソースハイブリッドデバイス102を示すが、実施形態がこれに限定されないことに留意されたい。他の実施形態では、上でブロック314および320で説明された判断動作が、並列に、異なる順序で実行され得、判断動作(上でブロック314および320で説明された)のうちの1つまたは複数が、実行されないものとされ得るなどである。いくつかの実施態様では、送信器処理ユニット106は、パケットルートの変化を示す技法の組合せを実行することができる。たとえば、送信器処理ユニット106は、1つまたは複数のパケット内でシーケンス番号を送信することができ、新しいパケットルート上でその1つまたは複数のパケット(シーケンス番号を含む)を複製することもできる。宛先ハイブリッドデバイス110は、シーケンス番号に基づいて複製パケットを検出することができる。もう1つの例として、送信器処理ユニット106は、古いパケットルート124を介して以前に送信されたパケットを再送信(新しいパケットルート126を介して)しないものとすることができる。その代わりに、送信器処理ユニット106は、古いパケットルート上および新しいパケットルート上で送信される1つまたは複数のパケットにシーケンス番号を挿入することができ(上で説明されるように)、送信されたパケットの省略を検出し、示す(たとえば、非順次番号を有するパケットを検出することによって)のに宛先ハイブリッドデバイス110に頼ることができる。
図5は、ソースハイブリッドデバイスと宛先ハイブリッドデバイスとの間のパケットルートの変化を検出する宛先ハイブリッドデバイスの例の動作を示す流れ図500である。フロー500は、図5のブロック502で開始される。
ブロック502では、宛先ハイブリッドデバイスが、ソースハイブリッドデバイスによって送信されたパケットを受信する。図1の例を参照すると、宛先ハイブリッドデバイス110の受信器リオーダリングユニット116が、ソースハイブリッドデバイス102によって送信されたパケットを受信することができる。フローは、ブロック504で継続する。
ブロック504では、明示的なルート変化インジケータが宛先ハイブリッドデバイス110で受信されたかどうかが判定される。たとえば、受信器リオーダリングユニット116は、1つまたは複数の明示的なルート変化インジケータがソースハイブリッドデバイス102から受信されたかどうかを判定することができる。受信器リオーダリングユニット116は、ルート終了パケット、ルート終了タグ、および/または他の適切なルート終了インジケータ(1つまたは複数)が宛先ハイブリッドデバイス110で検出されたかどうかを判定することができる。ルート終了インジケータの検出は、ソースハイブリッドデバイス102と宛先ハイブリッドデバイス110との間の現在のパケットルート124が終了されることを示すことができる。受信器リオーダリングユニット116は、ルート開始パケット、ルート開始タグ、および/または他のルート開始インジケータ(1つまたは複数)が新しいパケットルート126上で検出されたかどうかを判定することもできる。ルート開始インジケータの検出は、ソースハイブリッドデバイス102からの後続パケットが新しいパケットルート126に沿って受信されることを示すことができる。さらに、上で説明されるように、受信器リオーダリングユニット116は、1つまたは複数の他の明示的なルート変化インジケータ(たとえば、特殊なVLANタグ)が検出されたかどうかを判定することもできる。1つまたは複数の明示的なルート変化インジケータが受信されたことが判定される場合には、フローは、ブロック512で継続する。そうではない場合には、フローは、ブロック506で継続する。
ブロック506では、受信されたパケットに関連するパケットヘッダの変化が検出されたかどうかが判定される。フローは、1つまたは複数の明示的なルート変化インジケータが宛先ハイブリッドデバイス110で受診されなかった場合にブロック504からブロック506に移動する。一実施形態では、受信器リオーダリングユニット116は、受信されたパケットをストリームにソートするために、パケット分類技法(たとえば、受信されたパケットに関連するヘッダ内の1つまたは複数のフィールドに基づく)を使用することができる。受信器リオーダリングユニット116は、同一のパケットストリーム(たとえば、同一のアプリケーションから発する)、パケットストリームのセット、または共通のルートを共有するように構成されたパケットに属する受信されたパケットに関連するヘッダの変化の検出に基づいて、パケットルートの変化を自動的に検出することができる。受信器リオーダリングユニット116は、同一のパケットストリーム、パケットストリームのセット、または共通のルートを共有するように構成されたパケットに属するパケットが異なるネットワークインターフェース上で受信されたことの判定に基づいて、パケットルートの変化を自動的に検出することもできる。
いくつかの実施態様では、受信器リオーダリングユニット116は、古いパケットルート124と新しいパケットルート126とに関連するパケットヘッダの間の相違の検出に基づいて、古いパケットルート124と新しいパケットルート126とを介して受信されたパケットの間で区別することができる。たとえば、古いパケットルート124および新しいパケットルート126は、異なるソース通信インターフェースに対応することができる。したがって、受信されたパケットのMACソースアドレスフィードの読取に基づいて、受信器リオーダリングユニット116は、パケットルートの変化を検出することができ、パケットが古いパケットルート124または新しいパケットルート126のどちらを介して受信されたのかを判定することができる。受信器リオーダリングユニット116が、古いパケットルート124および新しいパケットルート126を介して送信されたパケットの間で区別するのに、他のアドレッシングの相違およびパケットヘッダの相違を使用することができることに留意されたい。たとえば、受信器リオーダリングユニット116は、古いパケットルート124および新しいパケットルート126上で実施される通信プロトコルの相違を検出することができる(たとえば、基礎になるプロトコル層によって使用され得るVLAN識別子または他のストリーム識別子の相違に基づいて)。もう1つの例として、受信器リオーダリングユニット116は、パケットが異なる転送デバイスによってルーティングされたかどうか(すなわち、パケットが、異なるパケットルートを介して受信されたかどうか)を判定するために、中間の転送デバイスに関連するパケットヘッダフィールドを使用することができる。もう1つの例として、受信器リオーダリングユニット116は、受信されたパケットヘッダに挿入された新しいビット(またはフィールド)、受信されたパケットヘッダから除去されたビット(またはフィールド)、異なるヘッダフォーマット、異なるヘッダ符号化、およびパケットヘッダ特性の他の相違の検出に基づいて、パケットヘッダの変化を検出することができる。受信されたパケットに関連するパケットヘッダの変化が検出されたことが判定される場合には、フローは、ブロック508で継続する。そうでない場合には、フローは、ブロック510で継続する。
ブロック508では、宛先ハイブリッドデバイスが、パケットが新しいパケットルートを介してソースハイブリッドデバイスから受信されたと判定する。一例では、受信器リオーダリングユニット116は、受信されたパケットに関連するパケットヘッダの変化が検出されたことの判定(ブロック506での)に応答して、パケットが新しいパケットルート126を介してソースハイブリッドデバイス102から受信されたと判定することができる。フローは、ブロック512で継続する。
ブロック510では、宛先ハイブリッドデバイスが、パケットが古いパケットルートを介してソースハイブリッドデバイスから受信されたと判定する。一例では、受信器リオーダリングユニット116は、受信されたパケットに関連するパケットヘッダの変化が検出されないこと(ブロック506での)に応答して、パケットが古いパケットルート124を介してソースハイブリッドデバイス102から受信されたと判定することができる。フローは、ブロック512で継続する。
ブロック512では、順序はずれパケット配送が、宛先ハイブリッドデバイスで検出されたかどうかが判定される。受信器リオーダリングユニット116が、ソースハイブリッドデバイス102によって送信された1つまたは複数の明示的なルート変化インジケータを検出する場合には、フローは、ブロック504からブロック512に移動する。フロー500は、受信器リオーダリングユニット116が、パケットが古いパケットルート124または新しいパケットルート126を介して受信されたかどうかを判定した後にも、ブロック508およびブロック510から移動する。一例では、受信器リオーダリングユニット116は、ルート終了インジケータを古いパケットルート124上で検出する前に、ルート開始インジケータが新しいパケットルート126上で検出されたかどうかを判定することができる。そうである場合には、受信器リオーダリングユニット116は、パケットルートの変化(ソースハイブリッドデバイス102での)が、宛先ハイブリッドデバイス110での順序はずれパケット到着をもたらした(たとえば、古いパケットルートおよび新しいパケットルートに関連する待ち時間の相違のゆえに)と判定することができる。もう1つの例として、ルート終了インジケータがルート開始インジケータの前に受信されたことの判定に応答して、受信器リオーダリングユニット116は、パケットルートの変化が、宛先ハイブリッドデバイス110での順序はずれパケット到着をもたらさなかったと判定することができる。その結果、受信器リオーダリングユニット116は、パケットリオーダリング動作を開始しないものとすることができ、したがって、プロセッサリソースおよびリオーダリングバッファリソースを不必要に消費することを回避することができる。その代わりに、受信器リオーダリングユニット116は、ルート終了インジケータおよびルート開始インジケータを破棄することができ、その後に受信されたパケットを、それらが受信された順序で上位プロトコル層に供給する(処理のために)ことができる。もう1つの例として、受信器リオーダリングユニット116は、第1のパケットヘッダを備える1つまたは複数のパケット(古いパケットルート124に関連する)が、第2のパケットヘッダを備える1つまたは複数のパケット(新しいパケットルート126に関連する)の後に受信されたかどうかを判定することができる。そうである場合には、受信器リオーダリングユニット116は、ブロック514で説明されるように、パケットリオーダリング動作を開始すると決定することができる。順序はずれパケット配送が宛先ハイブリッドデバイスで検出されたことが判定される場合には、フローは、ブロック514で継続する。そうでない場合には、フローは、ブロック516で継続する。
ブロック514では、パケットリオーダリング機構が、順序はずれパケットをリオーダリングするために宛先ハイブリッドデバイスで開始される。たとえば、宛先ハイブリッドデバイス110での潜在的な順序はずれパケット到着の判定に応答して、受信器リオーダリングユニット116は、古いパケットルート124を介して受信されたパケットが上位プロトコル層に供給された後に限って、新しいパケットルート126を介して受信されたパケットが上位プロトコル層に供給されることを保証するために、その後に受信されるパケットをリオーダリングする動作を開始することができる。宛先ハイブリッドデバイス110での順序はずれパケット到着の判定に応答して、受信器リオーダリングユニット116は、順序はずれパケット(たとえば、シーケンス順で次ではないパケット)をリオーダリングバッファに一時的に格納することができる。受信器リオーダリングユニット116は、受信されたパケットが上位プロトコル層による(たとえば、ネットワーク層212、トランスポート層214、およびアプリケーション216による)後続処理のために供給されなければならない正しい順序を判定し、その結果、パケットがリオーダリングバッファから解放されなければならない順序を判定するために、さまざまな技法を使用することができる。一実施形態では、新しいパケットルート126および古いパケットルート124が、異なる宛先通信インターフェースに関連する場合に、受信器リオーダリングユニット116は、新しいパケットルート126に関連する宛先通信インターフェース上で受信されるすべてのパケットを格納する(リオーダリングバッファに)ことができる。もう1つの実施形態では、ルート開始インジケータが、ルート終了インジケータの前に受信される場合に、受信器リオーダリングユニット116は、ルート開始インジケータの後であるがルート終了インジケータの前に受信される(新しいパケットルート126上で)すべてのパケットを格納することができる。もう1つの実施態様では、受信器リオーダリングユニット116は、パケットがソースハイブリッドデバイス102によって送信された順序を判定し、その結果、パケットが処理されなければならない順序を判定するために、上位プロトコル層によって挿入されるパケットシーケンス識別子(たとえば、シーケンス番号、タイムスタンプなど)を使用することができる。たとえば、ソースハイブリッドデバイス102のTCP層214は、各パケットに32ビットシーケンス番号を挿入することができる(送信の前に)。受信器リオーダリングユニット116は、受信されたパケットの正しい順序を確立するために、着信パケットのそれぞれに関連するシーケンス番号を読み取ることができる(たとえば、ソースハイブリッドデバイス102の上位プロトコル層によって受信されたパケット内に挿入されたヘッダおよび他の情報を分析するパケットインスペクション機構を使用して)。期待されるシーケンス番号(受信されたシーケンス内の最後のパケットに基づいて)より大きいシーケンス番号を有するパケットが、宛先ハイブリッドデバイス110で受信される場合には、その受信されたパケットおよびすべての後続の受信されるパケットは、シーケンス内の次のパケットが受信されるまで、リオーダリングバッファに格納され得る。もう1つの実施態様では、受信器リオーダリングユニット116は、リオーダリングが、パケットが宛先ハイブリッドデバイス110によって処理されなければならない順序を確立するために、送信器処理ユニット106によって挿入された(パケットルート変化の変化を明示的に示すために)余分なシーケンス識別子を使用することができる。その後、フローは、ブロック516で継続する。
ブロック516では、宛先ハイブリッドデバイスが、後続処理のためにパケットを供給すべきかどうかを判定する。たとえば、受信器リオーダリングユニット116は、リオーダリングバッファ内のパケットが、宛先ハイブリッドデバイス110の上位プロトコル層による後続処理のために供給されなければならないかどうかを判定することができる。リオーダリングバッファを維持する際に、宛先ハイブリッドデバイス110は、新しいパケットルート126を介して受信されたパケットを解放する前に、古いパケットルート124を介して受信されたパケットを解放する(後続処理のために)ことを試みることができる。いくつかの実施態様では、受信器リオーダリングユニット116は、ルート終了インジケータが受信されるまで、リオーダリング動作を実行することができる。いくつかの実施態様では、受信器リオーダリングユニット116は、古いパケットルート124に関連する最後のパケットが受信された後に、パケットリオーダリング動作を一時停止することができる。受信器リオーダリングユニット116は、ルート終了インジケータの受信に応答して、リオーダリングバッファ内のパケットを正しい順序で上位プロトコル層に供給することができる。いくつかの実施態様では、宛先ハイブリッドデバイス110が捨てられ/破棄されたパケットの受信をいつまでも待たないように(または過剰なパケット配送遅延に対して)保護するために、宛先ハイブリッドデバイス110は、所定のバッファ時間間隔が経過した後にリオーダバッファからパケットを解放するために、タイムアウト機構を使用することができる。所定のバッファ時間間隔は、期待されるラウンドトリップ肯定応答時間および再送信遅延に少なくとも部分的に基づいて決定され得る。一実施態様では、宛先ハイブリッドデバイス110が、所定のバッファ時間間隔以内にシーケンス内のパケットを受信できない場合には、宛先ハイブリッドデバイス110は、再送信が失敗したと判定し、パケットが配送されないと判定することができ、失敗したパケットより大きいシーケンス番号を有するパケットを、リオーダリングバッファから解放することができる。受信器リオーダリングユニット116が、所定のバッファ時間間隔が経過した後に、パケットリオーダリング動作を一時停止することもできることに留意されたい。もう1つの実施態様では、宛先ハイブリッドデバイス110は、リオーダリングバッファが満杯になるかしきいレベルを超える時に、後続処理のためにパケットを解放することができる。いくつかの実施態様では、欠けているパケットは、所定のバッファ時間間隔が経過した後に受信される場合に、破棄され得る。いくつかの実施態様では、受信器リオーダリングユニット116は、後続処理のために供給される(たとえば、上位プロトコル層へ)シーケンス内の最後のパケットに関連するパケット識別子を記録することができる。受信器リオーダリングユニット116は、解放されたパケットよりシーケンス内でより前にあるパケット識別子に関連する、その後に受信されるパケットを破棄することができる。いくつかの実施態様では、受信器リオーダリングユニット116は、肯定応答パケットを観察することによって、および/または到着タイミング、到着インターフェース、ルートを示すヘッダ、もしくは他のパケットヘッダフィールドによって再送信を推論することによって、再送信されたパケットを検出することができる。実施態様に応じて、受信器リオーダリングユニット116は、後続処理のために、再送信されたパケットを供給してもしなくてもよい。パケットが後続処理のために供給されなければならないことが判定される場合には、フローは、ブロック518で継続する。そうではない場合には、フローは終了する。
ブロック518では、パケットが、宛先ハイブリッドデバイス110による処理のために、適当なシーケンスで供給される。たとえば、受信器リオーダリングユニット116は、宛先ハイブリッドデバイス110の上位プロトコル層による処理のために、パケットを適当なシーケンスで供給することができる。ブロック518から、フローは終了する。
図1〜5が、実施形態の理解を助けることを意図された例であって、実施形態を限定しまたは特許請求の範囲の範囲を限定するのに使用されてはならないことを理解されたい。実施形態は、追加の動作を実行し、より少数の動作を実行し、動作を異なる順序で実行し、動作を並列に実行し、いくつかの動作を異なって実行することができる。たとえば、いくつかの実施態様では、ソースハイブリッドデバイス102は、ルート変化インジケータ(たとえば、ルート終了パケット、ルート開始パケット、ルート終了タグを備える制御/データパケット、ルート開始タグを備える制御/データパケットなど)に対する肯定応答(たとえば、宛先ハイブリッドデバイス110からの)を待つように構成され得る。ソースハイブリッドデバイス102は、肯定応答が受信されるまで、または所定の時間間隔が経過するまで、ルート変化インジケータを再送信することができる。ソースハイブリッドデバイス102は、ルート変化インジケータが肯定応答されるまで、新しいパケットルート126を介してパケットを送信しないものとすることができる。しかし、他の実施態様では、ソースハイブリッドデバイス102は、宛先ハイブリッドデバイス110からの肯定応答を待たないものとすることができる。その代わりに、ソースハイブリッドデバイス102は、ルート変化インジケータを送信した後、肯定応答を待たずに、新しいパケットルート126を介してパケットを送信することができる。
いくつかの実施態様では、ソースハイブリッドデバイス102は、パケット識別子の表示またはパケット分類情報と、パケットがソースハイブリッドデバイス102によって送信された順序とを送信することができる。宛先ハイブリッドデバイス110は、パケットが編成され、処理されなければならない正しい順序を判定するために、このパケット順序情報を使用することができる。ソースハイブリッドデバイス102は、ルート終了パケット、ルート開始パケット、または別々の制御パケット内でパケット順序情報を送信することができる。
いくつかの実施態様で、送信器処理ユニット106は、パケットルートの変化を示すために、2つの特殊なルートタグ(たとえば、タグAおよびタグB)を使用できることに留意されたい。送信器処理ユニット106は、パケットがそれに沿って送信されるルートに依存して、タグAとタグBとの間で切り替えることができる。たとえば、ルート選択ユニット104は、第1のパケットルートを選択することができ、ソースハイブリッドデバイス102は、タグAを含むパケットを第1のパケットルートに沿って宛先ハイブリッドデバイス110に送信することができる。第1のパケットルートから第2のパケットルートへの切替に応答して、ソースハイブリッドデバイス102は、第2のパケットルートに沿って、タグBを含むパケットを送信することができる。その後、ソースハイブリッドデバイス102が、第2のパケットルートから第3のパケットルートに切り替える場合には、ソースハイブリッドデバイス102は、第3のパケットルートに沿ってパケット(タグAを含む)を送信するのに、タグAをもう一度使用することができる。パケットに関連するタグの切替は、ソースハイブリッドデバイス102と宛先ハイブリッドデバイス110との間のパケットルートの対応する切替を示すことができる。もう1つの実施態様では、ソースハイブリッドデバイス102は、新しいパケットルート126に沿って送信される1つまたは複数のパケットに(たとえば、所定の個数のパケットにまたは所定の時間間隔中に送信されるパケットに)「新しいルート」タグを挿入することができる。パケットの所定の個数および所定の時間間隔は、古いパケットルート124と新しいパケットルート126との間の待ち時間に少なくとも部分的に基づいて決定され得る。上で説明したように、タグは、所定のVLANタグ符号化を使用して、VLANタグ内の1つまたは複数の所定のビットを使用して、EtherTypeタグを使用して、他の既存の未使用のパケットフィールドを使用して、1つまたは複数の余分なビットを使用して、または他の適切な機構を使用して、示され得る。たとえば、送信器処理ユニット106は、2つの異なるタグ符号化を使用することができ、パケットルートが変更される時にタグ符号化の間で切り替えることができる。タグ符号化は、パケットルートを介して送信されるすべてのパケット内で、またはパケットルートに沿って送信されるパケットのサブセット内で、使用され得る。上で図5で説明されるように、新しいパケットルートに沿って配送されるパケットをマークすることは、宛先ハイブリッドデバイス110が、これらのパケットを識別し、古いパケットルート124に沿って配送されるすべてのパケットが上位プロトコル層に供給され終わるまで、新しいパケットルート126上で受信されるパケットをリオーダリングバッファ内に一時的に格納することを可能にすることができる。
図3は、時間遅延機構とルート変化インジケータの送信とを、相互に排他的な動作として示すが、実施形態は、これに限定されない。他の実施形態では、ソースハイブリッドデバイス102は、時間遅延機構を使用して、古いパケットルート124と新しいパケットルート126との間の正しい遷移を保証することを試みることができ、1つまたは複数のルート変化インジケータを宛先ハイブリッドデバイス110に供給することができる。たとえば、新しいパケットルート126に切り替えると決定する時に、ソースハイブリッドデバイス102は、古いパケットルート124に沿ってルート終了パケットを送信することができる。ソースハイブリッドデバイス102は、その後、ルート変化待ち時間間隔を開始し、実施することができる。ルート変化待ち時間間隔が経過した後に、ソースハイブリッドデバイス102は、新しいパケットルート126に沿ってルート開始パケットを送信することができる。
図5は、順序はずれパケット配送の検出に応答して宛先ハイブリッドデバイス110がパケットをリオーダリングすることを説明するが、実施形態はこれに限定されない。いくつかの実施形態では、上位プロトコル層への順序通りのパケット配送が、宛先ハイブリッドデバイス110で必要ではないか有用ではない場合がある(たとえば、使用される通信プロトコル、パケットの宛先のアプリケーション、および他のそのような要因に依存して)。いくつかの実施態様では、順序はずれパケット配送が宛先ハイブリッドデバイス110で検出されたかどうかを判定する(図5のブロック512で)前に、宛先ハイブリッドデバイス110の上位プロトコル層へのパケットの順序通りの配送が必要または有用であるかどうかが、判定され得る。
図には記載されていないが、宛先ハイブリッドデバイス110は、ソースハイブリッドデバイス102から受信された複製パケットを検出し、破棄する機能性を実施することができる。いくつかの実施態様では、複製パケット検出は、ソースハイブリッドデバイス102の送信器処理ユニット106(または上位プロトコル層)によってパケットに挿入されたパケットシーケンス番号またはパケットタイムスタンプ(たとえば、複製パケットが、同一のタイムスタンプを割り当てられる場合)を使用して実行され得る。もう1つの実施態様では、パケットシグネチャ分析技法が、複製パケットを検出するのに使用され得る。たとえば、巡回冗長検査(CRC)計算方法(または、パケットルートとは独立の別の適切な計算方法)が、パケットシグネチャ(たとえば、CRC値)を生成するのに使用され得る。宛先ハイブリッドデバイス110が、同一のパケットシグネチャを有する2つのパケットを検出する場合に、これは、2つの検出されたパケットがお互いの複製であることを示すことができる。宛先ハイブリッドデバイス110は、最近に受信されたパケットに関連するパケットシグネチャの記録を維持することができ、複製パケットを検出し、破棄するのに、受信されたパケットシグネチャのこの記録を使用することができる。
いくつかの実施態様では、ソースハイブリッドデバイス102および宛先ハイブリッドデバイス110によって使用される通信プロトコルが複数の再送信の試みをサポートする場合に、ルート変化待ち時間間隔および/または所定のバッファ時間間隔が、複数のラウンドトリップ遅延に少なくとも部分的に基づいて決定され得ることに留意されたい。いくつかの実施態様では、ルート変化待ち時間間隔、所定のバッファ時間間隔、および/またはリオーダリングバッファのサイズは、ラウンドトリップ遅延、シーケンス内の最後のパケットの受信と順序はずれパケットの受信との間の最大の遅延、再送信遅延、ハイブリッド通信ネットワーク内の期待される遅延、および再送信を待って累積され得るデータの最大量に少なくとも部分的に基づいて、動的に(または静的に)構成され得る。
最後に、宛先ハイブリッドデバイス110が、上位プロトコル層にルート変化インジケータを提供しないものとすることができることに留意されたい。たとえば、宛先ハイブリッドデバイス110は、ルート終了パケットおよびルート開始パケットを破棄することができ、他の制御/データパケットだけを後続処理のために上位プロトコル層に供給することができる。もう1つの例として、宛先ハイブリッドデバイス110は、受信されたパケットを処理のために上位プロトコル層に供給する前に、パケットルートの変化を明示的に示すためにソースハイブリッドデバイス102によって挿入されたすべての情報(たとえば、ルート終了タグ、ルート開始タグなど)を、受信されたパケットから除去することができる。
実施形態は、すべてが全般的に本明細書で「回路」、「モジュール」、もしくは「システム」と呼ばれる可能性がある、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、またはソフトウェア態様とハードウェア態様とを組み合わせる実施形態の形をとることができる。さらに、本主題の実施形態は、媒体内で実施されたコンピュータ使用可能プログラムコードを有する表現の任意の有形の媒体内で実施されるコンピュータプログラム製品の形をとることができる。説明された実施形態は、すべての考えられる変形形態が本明細書で列挙されるわけではないので、本明細書で説明されるか否かにかかわりなく、実施形態によるプロセスを実行するためにコンピュータシステム(または他の電子デバイス(1つまたは複数))をプログラムするのに使用され得る命令をその上に格納された機械可読媒体を含むことができるコンピュータプログラム製品またはソフトウェアとして提供され得る。機械可読媒体は、機械(たとえば、コンピュータ)によって可読の形で情報(たとえば、ソフトウェア、処理アプリケーション)を格納しまたは送信する任意の機構を含む。機械可読媒体は、機械可読記憶媒体または機械可読信号媒体とすることができる。機械可読記憶媒体は、たとえば、磁気記憶媒体(たとえば、フロッピ(登録商標)ディスケット)、光記憶媒体(たとえば、CD−ROM)、光磁気記憶媒体、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、消去可能プログラム可能メモリ(たとえば、EPROMおよびEEPROM(登録商標))、フラッシュメモリ、または電子命令を格納するのに適する他のタイプの有形の媒体を含むことができるが、これに限定はされない。機械可読信号媒体は、コンピュータ可読プログラムコードをその中で実施される伝搬されるデータ信号、たとえば、電子信号、光信号、音響信号、または他の形の伝搬される信号(たとえば、搬送波、赤外線信号、ディジタル信号など)を含むことができる。機械可読信号媒体上で実施されるプログラムコードは、有線、ワイヤレス、光ファイバケーブル、RF、または他の通信媒体を含むがこれに限定されない任意の適切な媒体を使用して送信され得る。
実施形態の動作を実行するコンピュータプログラムコードは、Java(登録商標)、Smalltalk、C++、または類似物などのオブジェクト指向プログラミング言語および「C」プログラミング言語または類似するプログラミング言語などの従来の手続きプログラミング言語を含む1つまたは複数のプログラミング言語の任意の組合せで記述され得る。プログラムコードは、完全にユーザのコンピュータ上、部分的にユーザのコンピュータ上、独立のソフトウェアパッケージとして、部分的にユーザのコンピュータ上および部分的にリモートコンピュータ上、または完全にリモートコンピュータもしくはサーバ上で実行することができる。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)、パーソナルエリアネットワーク(PAN)、または広域ネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続され得、あるいは、接続は、外部コンピュータに対して行われ得る(たとえば、インターネットサービスプロバイダを使用してインターネットを介して)。
図6は、ハイブリッド通信ネットワーク内のパケットルート変化を示す機構を含む電子デバイス600の一実施形態を示すブロック図である。いくつかの実施態様では、電子デバイス600は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、携帯電話機、スマート機器、電力線通信デバイス、ゲーム機、ネットワークブリッジングデバイス、または複数の通信ネットワークにまたがって通信するように構成されたハイブリッド通信ユニットを備える他の電子システムのうちの1つとすることができる。電子デバイス600は、プロセッサユニット602(おそらくは、複数のプロセッサ、複数のコア、複数のノードを含み、かつ/またはマルチスレッディングを実施するなど)を含む。電子デバイス600は、メモリユニット606を含む。メモリユニット606は、システムメモリ(たとえば、キャッシュ、SRAM、DRAM、ゼロキャパシタRAM、ツイントランジスタRAM、eDRAM、EDO RAM、DDR RAM、EEPROM、NRAM、RRAM(登録商標)、SONOS、PRAMなどのうちの1つまたは複数)または機械可読媒体の上で既に説明された可能な実現のうちの任意の1つもしくは複数とすることができる。電子デバイス600は、バス610(たとえば、PCI、ISA、PCI−Express、HyperTransport(登録商標)、InfiniBand(登録商標)、NuBus、AHB、AXIなど)と、ワイヤレスネットワークインターフェース(たとえば、WLANインターフェース、Bluetooth(登録商標)インターフェース、WiMAX(登録商標)インターフェース、ZigBee(登録商標)インターフェース、Wireless USBインターフェースなど)および有線ネットワークインターフェース(たとえば、電力線インターフェース、イーサネットインターフェースなど)のうちの少なくとも1つを含むネットワークインターフェース604とをも含む。いくつかの実施態様では、電子デバイス600は、それぞれが電子デバイス600を異なる通信ネットワークに結合する複数のネットワークインターフェースを備えることができる。たとえば、電子デバイス600は、それぞれ電子デバイス600を電力線通信ネットワークセグメント、イーサネット、およびワイヤレスローカルエリアネットワークに結合する電力線通信インターフェース、イーサネットインターフェースおよびWLANインターフェースを備えることができる。
電子デバイス600は、通信ユニット608をも含む。通信ユニット608は、ルート選択ユニット612、送信器処理ユニット614、および受信器リオーダリングユニット616を備える。いくつかの場合に、電子デバイス600は、1つまたは複数のパケットを宛先デバイスに送信するソースデバイスとして動作することができる。この場合に、ルート選択ユニット612および送信器処理ユニット614は、上で図1〜4で説明されるように、共通パケットストリーム、パケットストリームのセット、または共通のルートを共有するように構成されたパケットのセットの1つまたは複数のパケットを送信するために新しいパケットルートを識別し、パケットルートの変化の1つまたは複数の(暗黙のおよび/または明示的な)表示を提供する機能性を実施することができる。他の場合には、電子デバイス600は、ソースデバイスから1つまたは複数のパケットを受信する宛先デバイスとして動作することができる。この場合に、受信器リオーダリングユニット616は、上で図1および5で説明されるように、パケットルートの変化を検出し(暗黙のまたは明示的なルート変化インジケータに基づいて)、受信されたパケットをリオーダリングし(必要な場合に)、後続処理のためにパケットを供給する機能性を実施することができる。これらの機能性のうちの任意の1つは、ハードウェア内および/またはプロセッサユニット602上で部分的に(または全体的に)実施され得る。たとえば、機能性は、特定用途向け集積回路を用いて、プロセッサユニット602内で実施される論理内で、周辺デバイスまたはカード上のコプロセッサ内で、などで実施され得る。さらに、実現は、図6に示されていないより少数のまたは追加のコンポーネント(たとえば、ビデオカード、オーディオカード、追加のネットワークインターフェース、周辺デバイスなど)を含むことができる。プロセッサユニット602、メモリユニット606、およびネットワークインターフェース604は、バス610に結合される。バス610に結合されるものとして図示されているが、メモリユニット606は、プロセッサユニット602に結合され得る。
実施形態は、さまざまな実施態様および活用を参照して説明されるが、これらの実施形態が例示的であることと、本主題の範囲がこれらに限定されないこととを理解されたい。一般に、本明細書で説明される、パケット配送ルートが変化する時のパケットオーダリングの技法は、任意の1つまたは複数のハードウェアシステムと一貫するファシリティを用いて実施され得る。多数の変形形態、修正形態、追加、および改善が、可能である。
複数の実例が、本明細書で説明されるコンポーネント、動作、または構造について、単一の実例として提供される場合がある。最後に、さまざまなコンポーネント、動作、およびデータストアの間の境界は、多少任意であり、特定の動作は、特定の例示的な構成の文脈で示される。機能性の他の割振りが、構想され、本主題の範囲に含まれる可能性がある。一般に、例示的な構成で別々のコンポーネントとして提示される構造および機能性は、組み合わされた構造またはコンポーネントとして実施され得る。同様に、単一のコンポーネントとして提示される構造および機能性は、別々のコンポーネントとして実施され得る。上記および他の変形形態、修正形態、追加、および改善は、本主題の範囲に含まれる可能性がある。
複数の実例が、本明細書で説明されるコンポーネント、動作、または構造について、単一の実例として提供される場合がある。最後に、さまざまなコンポーネント、動作、およびデータストアの間の境界は、多少任意であり、特定の動作は、特定の例示的な構成の文脈で示される。機能性の他の割振りが、構想され、本主題の範囲に含まれる可能性がある。一般に、例示的な構成で別々のコンポーネントとして提示される構造および機能性は、組み合わされた構造またはコンポーネントとして実施され得る。同様に、単一のコンポーネントとして提示される構造および機能性は、別々のコンポーネントとして実施され得る。上記および他の変形形態、修正形態、追加、および改善は、本主題の範囲に含まれる可能性がある。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
通信ネットワークの第1のネットワークデバイスと第2のネットワークデバイスとの間の複数のパケットルートのうちの第1のパケットルートを介して複数のパケットを送信することと、
前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間の前記複数のパケットルートのうちの第2のパケットルートを介して前記第2のネットワークデバイスに1つまたは複数のパケットを送信すると決定することと、
前記第2のネットワークデバイスが所定の順序でパケットを処理することを可能にするために、前記複数のパケットルートの前記第1のパケットルートから前記第2のパケットルートへの前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間のパケットルートの変化の表示を前記第2のネットワークデバイスに供給することと、
前記複数のパケットルートの前記第2のパケットルートを介して前記第2のネットワークデバイスに前記1つまたは複数のパケットを送信することと
を備える方法。
[C2]
前記第1のパケットルートを介して送信される前記複数のパケットおよび前記第2のパケットルートを介して送信される前記1つまたは複数のパケットは、
共通のパケットストリーム、
パケットストリームのセット、または
共通のルートを共有するように構成されたパケットのセット
のうちの1つに関連する、[C1]に記載の方法。
[C3]
前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間の前記複数のパケットルートのうちの前記第2のパケットルートを介して前記第2のネットワークデバイスに前記1つまたは複数のパケットを送信することの前記決定に応答して、
前記第1のパケットルートを介する前記複数のパケットのうちの最後のパケットの送信と前記第2のパケットルートを介する前記1つまたは複数のパケットのうちの最初のパケットの送信との間にルート変化待ち時間間隔を実施すると決定することと、
前記第1のパケットルートを介して前記第2のネットワークデバイスに前記複数のパケットのうちの前記最後のパケットを送信することと、
前記第1のパケットルートを介する前記第2のネットワークデバイスへの前記複数のパケットのうちの前記最後のパケットの前記送信に応答して、前記ルート変化待ち時間間隔を開始することと、
前記ルート変化待ち時間間隔が経過したことを判定することと、
前記ルート変化待ち時間間隔が経過したことの前記判定に応答して、前記第2のパケットルートを介して前記第2のネットワークデバイスに前記1つまたは複数のパケットのうちの前記最初のパケットを送信することと
をさらに備える、[C1]に記載の方法。
[C4]
前記ルート変化待ち時間間隔は、前記第1のパケットルートに関連するルート待ち時間と、前記第2のパケットルートに関連するルート待ち時間と、前記第1のパケットルートに関連する推定されたパケット配送時間と、前記第2のパケットルートに関連する推定されたパケット配送時間と、通信ネットワーク待ち時間と、前記第1のネットワークデバイスおよび前記第2のネットワークデバイスが複数の再送信の試みをサポートする場合のラウンドトリップ再送信遅延時間間隔と、ラウンドトリップ遅延と、シーケンス内の最後のパケットの受信と順序はずれパケットの受信との間の最長の遅延と、再送信されたパケットを待っている間にデータを格納するための最大の使用可能なメモリとのうちの1つまたは複数に基づいて決定される、[C3]に記載の方法。
[C5]
前記第2のネットワークデバイスが前記所定の順序でパケットを処理することを可能にするための、前記複数のパケットルートの前記第1のパケットルートから前記第2のパケットルートへの前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間の前記パケットルートの前記変化の前記表示を前記供給することは、
前記第1のパケットルートを介して前記第2のネットワークデバイスに前記複数のパケットのうちの最後のパケットを送信することと、
前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間の前記パケットルートの前記変化を示すために、前記第1のパケットルートを介する前記複数のパケットのうちの前記最後のパケットの前記送信に応答して、前記第1のパケットルートを介して前記第2のネットワークデバイスにルート終了パケットを供給することと、
前記第1のネットワークデバイスからの後続パケットが前記第2のパケットルートを介して送信されることを示すために、前記第2のパケットルートを介して前記第2のネットワークデバイスにルート開始パケットを供給することと、
前記第2のパケットルートを介する前記第2のネットワークデバイスへの前記ルート開始パケットを前記供給することに応答して、前記第2のパケットルートを介して前記第2のネットワークデバイスに前記1つまたは複数のパケットのうちの最初のパケットを送信することと
を備える、[C1]に記載の方法。
[C6]
前記第2のネットワークデバイスが所定の順序でパケットを処理することを可能にするための、前記複数のパケットルートの前記第1のパケットルートから前記第2のパケットルートへの前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間の前記パケットルートの前記変化の前記表示を前記供給することは、
前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間の前記パケットルートの前記変化を示すために、前記第1のパケットルートを介して前記第2のネットワークデバイスに送信されるようにスケジューリングされた前記複数のパケットパケットのうちの少なくとも最後のパケットにルート終了タグを挿入することと、
前記第1のパケットルートを介して前記第2のネットワークデバイスに前記ルート終了タグを含む前記複数のパケットパケットのうちの少なくとも前記最後のパケットを送信することと、
前記第1のネットワークデバイスからの後続パケットが前記第2のパケットルートを介して送信されることを示すために、前記第2のパケットルートを介して前記第2のネットワークデバイスに送信されるようにスケジューリングされた前記1つまたは複数のパケットのうちの少なくとも最初のパケットにルート開始タグを挿入することと、
前記第2のパケットルートを介して前記第2のネットワークデバイスに前記ルート開始タグを含む前記1つまたは複数のパケットのうちの少なくとも前記最初のパケットを送信することと
を備える、[C1]に記載の方法。
[C7]
シーケンスインジケータは、
前記第1のネットワークデバイスの上位プロトコル層によって挿入される主シーケンス識別子と、
前記第1のネットワークデバイスのハイブリッドアダプテーション層によって挿入される副シーケンス識別子と
のうちの1つまたは複数を備える、[C1]に記載の方法。
[C8]
前記第1のネットワークデバイスで、前記第2のネットワークデバイスでのパケットリオーダリングを容易にするために前記第2のパケットルートを介して送信される前記1つまたは複数のパケットのそれぞれに1つまたは複数のシーケンスインジケータを挿入すること
をさらに備える、[C1]に記載の方法。
[C9]
前記第1のネットワークデバイスで、前記第1のパケットルートを介して送信される前記複数のパケットのうちの1つまたは複数の最後のパケットに1つまたは複数のシーケンスインジケータを挿入することと、
前記第1のネットワークデバイスで、前記第2のネットワークデバイスでのパケットリオーダリングを容易にするために前記第2のパケットルートを介して送信される前記1つまたは複数のパケットに1つまたは複数のシーケンスインジケータを挿入することであって、前記第2のパケットルートを介して送信される前記1つまたは複数のパケットに挿入される前記1つまたは複数のシーケンスインジケータは、前記第1のパケットルートを介して送信される前記複数のパケットの前記1つまたは複数の最後のパケットに挿入される前記1つまたは複数のシーケンスインジケータと共に順序通りである、挿入することと
をさらに備える、[C1]に記載の方法。
[C10]
前記第1のパケットルートを介して前記第2のネットワークデバイスに送信されるようにスケジューリングされた前記複数のパケットのうちの少なくとも最後のパケットに第1のルートタグを挿入することと、
前記第1のパケットルートを介して前記第2のネットワークデバイスに前記第1のルートタグを含む前記複数のパケットのうちの少なくとも前記最後のパケットを送信することと、
前記第2のパケットルートを介して前記第2のネットワークデバイスに送信されるようにスケジューリングされた前記1つまたは複数のパケットのうちの少なくとも最初のパケットに第2のルートタグを挿入することであって、前記第1のルートタグから前記第2のルートタグへの切替は、前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間の前記パケットルートの前記変化を示す、挿入することと、
前記第2のパケットルートを介して前記第2のネットワークデバイスに前記第2のルートタグを含む前記1つまたは複数のパケットのうちの少なくとも前記最初のパケットを送信することと
をさらに備える、[C1]に記載の方法。
[C11]
前記第2のパケットルート上で前記第1のパケットルートを介して以前に送信された前記複数のパケットの少なくともサブセットを複製すると決定することと、
前記第1のパケットルートを介して以前に送信された前記複数のパケットの少なくとも前記サブセットを前記第2のパケットルートを介して前記第2のネットワークデバイスに再送信することと
をさらに備える、[C1]に記載の方法。
[C12]
通信ネットワークの第1のネットワークデバイスで、前記通信ネットワークの第2のネットワークデバイスから受信された複数のパケットに少なくとも部分的に基づいて、複数のパケットルートの第1のパケットルートから第2のパケットルートへの、前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間のパケットルートの変化を示す1つまたは複数のルート変化インジケータを検出することと、
前記1つまたは複数のルート変化インジケータに基づいて、前記複数のパケットが所定のパケット順序に従って受信されたかどうかを判定することと、
前記複数のパケットが前記所定のパケット順序に従って受信されなかったとの判定に応答して、前記所定のパケット順序に従って前記複数のパケットをリオーダリングすることと
を備える方法。
[C13]
前記複数のパケットルートの前記第1のパケットルートから前記第2のパケットルートへの、前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間の前記パケットルートの前記変化を示す前記1つまたは複数のルート変化インジケータを前記検出することは、
前記第1のパケットルートから前記第2のパケットルートへの、前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間の前記パケットルートの前記変化を示すルート終了インジケータであって、ルート終了タグおよびルート終了パケットのうちの少なくとも1つを備える、ルート終了インジケータと、
前記第2のネットワークデバイスからの後続パケットが前記第2のパケットルートを介して送信されることを示すルート開始インジケータであって、ルート開始タグおよびルート開始パケットのうちの少なくとも1つを備える、ルート開始インジケータと
のうちの少なくとも1つを検出することを備える、[C12]に記載の方法。
[C14]
前記1つまたは複数のルート変化インジケータに基づく前記複数のパケットが前記所定のパケット順序に従って受信されたかどうかの前記判定は、
前記ルート開始インジケータが、前記第1のパケットルートを介する前記ルート終了インジケータの受信の前に前記第2のパケットルートを介して受信されたかどうかを判定すること
を備える、[C13]に記載の方法。
[C15]
前記所定のパケット順序に従う前記複数のパケットの前記リオーダリングは、
前記所定のパケット順序に従って前記パケットをリオーダリングするために前記ルート終了インジケータが受信されるまで、前記ルート開始インジケータを前記第2のパケットルートを介して受信した後、前記ルート終了インジケータを前記第1のパケットルートを介して受信する前に、前記第2のパケットルートを介して受信された前記複数のパケットのうちの1つまたは複数をリオーダリングバッファに格納すること
をさらに備える、[C14]に記載の方法。
[C16]
前記複数のパケットルートの前記第1のパケットルートから前記複数のパケットルートの前記第2のパケットルートへの、前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間の前記パケットルートの前記変化を示す前記1つまたは複数のルート変化インジケータを前記検出することは、
前記第2のネットワークデバイスから受信された前記複数のパケットのそれぞれに関連するパケットヘッダを分析することと、
前記第2のパケットルートを介して受信された前記複数のパケットの第1のパケットが、前記第1のパケットルートを介して以前に受信された前記複数のパケットのうちの少なくとも1つのパケットに関連する第2のパケットヘッダとは異なる第1のパケットヘッダに関連することを判定することと、
前記第2のパケットルートを介して受信された前記複数のパケットの前記第1のパケットが、前記第1のパケットルートを介して以前に受信された前記複数のパケットのうちの少なくとも1つのパケットに関連する前記第2のパケットヘッダとは異なる前記第1のパケットヘッダに関連することの前記判定に少なくとも部分的に基づいて、前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間の前記パケットルートの前記変化を検出することと
を備える、[C12]に記載の方法。
[C17]
前記第2のネットワークデバイスから受信された前記複数のパケットのそれぞれに関連する前記パケットヘッダの前記分析は、
前記第2のネットワークデバイスに関連する通信インターフェースと、前記第2のネットワークデバイスに関連する下位プロトコル層アドレスと、前記第1のネットワークデバイスに関連する通信インターフェースと、前記第1のネットワークデバイスに関連する下位プロトコル層アドレスと、前記第2のネットワークデバイスによって実施される通信プロトコルの表示と、1つまたは複数の転送するネットワークデバイスに関連する情報と、パケットヘッダ内の複数のビットと、パケットヘッダフォーマットと、パケットヘッダ符号化とのうちの少なくとも1つを分析すること
を備える、[C16]に記載の方法。
[C18]
前記1つまたは複数のルート変化インジケータに基づく、前記複数のパケットが前記所定のパケット順序に従って受信されたかどうかの前記判定は、
前記複数のパケットのうちの第2のパケットが前記第2のパケットヘッダに関連することを判定することであって、前記第2のパケットは、前記第1のパケットの後に受信される、判定することと、
前記複数のパケットのうちの前記第2のパケットが前記第2のパケットヘッダに関連することの前記判定に少なくとも部分的に基づいて、前記第2のパケットが、少なくとも前記第1のパケットが前記第2のパケットルート上で受信された後に前記第1のパケットルート上で受信されることを判定することと、
前記第2のパケットが、少なくとも前記第1のパケットが前記第2のパケットルート上で受信された後に前記第1のパケットルート上で受信されることの前記判定に基づいて、前記第2のパケットが前記所定のパケット順序に従って受信されるのではないことを判定することと
を備える、[C16]に記載の方法。
[C19]
前記1つまたは複数のルート変化インジケータに少なくとも部分的に基づいて、前記複数のパケットのそれぞれを、前記第1のパケットルートまたは前記第2のパケットルートに関連するものとして分類することをさらに備える、[C12]に記載の方法。
[C20]
第1のネットワークデバイスで第2のネットワークデバイスから受信されたパケットごとに、前記パケットが、複数のパケットストリームのうちの1つのパケットストリームまたは共通のパケットルートを共有するように構成されたパケットの複数の所定のセットのうちの1つに関連することを識別することと、
前記第2のネットワークデバイスから受信された各パケットを、前記パケットに関連するパケット分類情報と、前記パケットに関連する前記パケットストリームおよび共通のパケットルートを共有するように構成されたパケットの前記所定のセットのうちの少なくとも1つとに少なくとも部分的に基づいてソートすることと、
前記第2のネットワークデバイスから受信された前記複数のパケットが、前記複数のパケットストリームのうちの第1のパケットストリームまたはパケットの第1の所定のセットに関連することを判定することと、
前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間の前記パケットルートの前記変化を検出するために、前記複数のパケットストリームのうちの前記第1のパケットストリームまたはパケットの前記第1の所定のセットに関連する前記第2のネットワークデバイスから受信された前記複数のパケットを分析することと
をさらに備える、[C12]に記載の方法。
[C21]
前記複数のパケットが前記所定のパケット順序に従って受信されたのではないことの判定に応答して、
前記所定のパケット順序に従って受信されたのではない前記複数のパケットのサブセットを識別することと、
前記所定のパケット順序に従って受信されたのではない前記複数のパケットの前記サブセットをリオーダリングバッファに格納することと
をさらに備え、前記所定のパケット順序に従う前記複数のパケットの前記リオーダリングは、
前記所定のパケット順序に従う前記第1のネットワークデバイスでの処理のために前記複数のパケットの前記格納されたサブセットのうちの1つまたは複数を供給すべきかどうかを判定することと、
前記第1のネットワークデバイスでの処理のために前記複数のパケットのうちの前記1つまたは複数を供給すべきであるとの判定に応答して、前記第1のネットワークデバイスでの処理のために前記複数のパケットの前記格納されたサブセットのうちの前記1つまたは複数を識別し、供給することと
を備える、[C12]に記載の方法。
[C22]
前記第1のネットワークデバイスでの処理のための前記複数のパケットの前記格納されたサブセットのうちの前記1つまたは複数を前記識別し、供給することは、
前記第1のパケットルート上での前記ルート終了インジケータの受信に応答して、前記第1のパケットルート上でのルート終了インジケータの受信の前に前記第2のパケットルート上で受信された前記複数のパケットの前記格納されたサブセットのうちの前記1つまたは複数を供給することであって、前記ルート終了インジケータは、前記パケットルートの前記変化を示す、供給すること、
前記第1のパケットルートを介する1つまたは複数のパケットの受信に関連する待ち時間間隔が経過したことの判定に応答して、前記第2のパケットルート上で受信された前記複数のパケットの前記格納されたサブセットのうちの前記1つまたは複数を前記所定のパケット順序に従って供給すること、または
前記リオーダリングバッファがしきいバッファ容量を超えたことの判定に応答して、前記第2のパケットルート上で受信された前記複数のパケットの前記格納されたサブセットのうちの前記1つまたは複数を前記所定のパケットルートに従って供給すること
のうちの1つを備える、[C21]に記載の方法。
[C23]
前記所定のパケット順序は、
前記第2のネットワークデバイスによって前記第1のネットワークデバイスに送信される前記複数のパケットのそれぞれに挿入された1つまたは複数のシーケンス識別子と、
前記第2のネットワークデバイスによって前記第1のネットワークデバイスに送信される前記複数のパケットのそれぞれに関連するパケット識別子および対応するシーケンス識別子を備えるパケットシーケンス情報であって、ルート変化インジケータ内またはシーケンス表示パケット内で供給される、パケットシーケンス情報と
のうちの少なくとも1つによって示される、[C12]に記載の方法。
[C24]
少なくとも1つのネットワークインターフェースと、
前記少なくとも1つのネットワークインターフェースに結合されたリオーダリングユニットであって、
複数のパケットルートの第1のパケットルートから第2のパケットルートへの、通信ネットワークデバイスと第2の通信ネットワークデバイスとの間のパケットルートの変化を示す1つまたは複数のルート変化インジケータを、前記第2の通信ネットワークデバイスから受信された複数のパケットに少なくとも部分的に基づいて検出し、
前記1つまたは複数のルート変化インジケータに基づいて、前記複数のパケットが所定のパケット順序に従って受信されたかどうかを判定し、
前記リオーダリングユニットが、前記複数のパケットが前記所定のパケット順序に従って受信されたのではないと判定することに応答して、前記所定のパケット順序に従って前記複数のパケットをリオーダリングする
ように動作可能なリオーダリングユニットと
を備える通信ネットワークデバイス。
[C25]
前記複数のパケットルートの前記第1のパケットルートから前記第2のパケットルートへの、第1の通信ネットワークデバイスと前記第2の通信ネットワークデバイスとの間の前記パケットルートの前記変化を示す前記1つまたは複数のルート変化インジケータを検出するように動作可能な前記リオーダリングユニットは、
前記第1のパケットルートから前記第2のパケットルートへの前記第1の通信ネットワークデバイスと前記第2の通信ネットワークデバイスとの間の前記パケットルートの前記変化を示すルート終了インジケータであって、ルート終了タグおよびルート終了パケットのうちの少なくとも1つを備える、ルート終了インジケータと、
前記第2の通信ネットワークデバイスからの後続パケットが前記第2のパケットルートを介して送信されることを示すルート開始インジケータであって、ルート開始タグおよびルート開始パケットのうちの少なくとも1つを備える、ルート開始インジケータと
のうちの少なくとも1つを検出するように動作可能な前記リオーダリングユニットを備える、[C24]に記載の通信ネットワークデバイス。
[C26]
前記1つまたは複数のルート変化インジケータに基づいて、前記複数のパケットが前記所定のパケット順序に従って受信されたかどうかを判定するように動作可能な前記リオーダリングユニットは、
前記ルート開始インジケータが、前記リオーダリングユニットが前記第1のパケットルートを介して前記ルート終了インジケータを受信する前に前記第2のパケットルートを介して受信されたかどうかを判定するように動作可能な前記リオーダリングユニット
を備え、前記所定のパケット順序に従って前記複数のパケットをリオーダリングするように動作可能な前記リオーダリングユニットは、
前記所定のパケット順序に従って前記パケットをリオーダリングするために前記ルート終了インジケータが受信されるまで、前記第2のパケットルートを介して前記ルート開始インジケータを受信した後、前記第1のパケットルートを介して前記ルート終了インジケータを受信する前に、前記第2のパケットルートを介して受信される前記複数のパケットのうちの1つまたは複数をリオーダリングバッファに格納するように動作可能な前記リオーダリングユニット
をさらに備える、[C25]に記載の通信ネットワークデバイス。
[C27]
前記複数のパケットルートの前記第1のパケットルートから前記複数のパケットルートの前記第2のパケットルートへの、前記第1の通信ネットワークデバイスと前記第2の通信ネットワークデバイスとの間の前記パケットルートの前記変化を示す前記1つまたは複数のルート変化インジケータを検出するように動作可能な前記リオーダリングユニットは、
前記第2の通信ネットワークデバイスから受信された前記複数のパケットのそれぞれに関連するパケットヘッダを分析し、
前記第2のパケットルートを介して受信される前記複数のパケットのうちの第1のパケットが、前記第1のパケットルートを介して以前に受信された前記複数のパケットのうちの少なくとも1つのパケットに関連する第2のパケットヘッダとは異なる第1のパケットヘッダに関連することを判定し、
前記第2のパケットルートを介して受信される前記複数のパケットのうちの前記第1のパケットが、前記第1のパケットルートを介して以前に受信された前記複数のパケットのうちの少なくとも1つのパケットに関連する前記第2のパケットヘッダとは異なる前記第1のパケットヘッダに関連することを前記リオーダリングユニットが判定することに少なくとも部分的に基づいて、前記第1の通信ネットワークデバイスと前記第2の通信ネットワークデバイスとの間の前記パケットルートの前記変化を検出する
ように動作可能な前記リオーダリングユニットを備える、[C24]に記載の通信ネットワークデバイス。
[C28]
前記1つまたは複数のルート変化インジケータに基づいて、前記複数のパケットが前記所定のパケット順序に従って受信されたかどうかを判定するように動作可能な前記リオーダリングユニットは、
前記複数のパケットの第2のパケットが前記第2のパケットヘッダに関連することを判定することであって、前記第2のパケットは、前記第1のパケットの後に受信される、判定することと、
前記複数のパケットの前記第2のパケットが前記第2のパケットヘッダに関連することを前記リオーダリングユニットが判定することに少なくとも部分的に基づいて、少なくとも前記第1のパケットが前記第2のパケットルート上で受信された後に前記第2のパケットが前記第1のパケットルート上で受信されることを判定することと、
少なくとも前記第1のパケットが前記第2のパケットルート上で受信された後に前記第2のパケットが前記第1のパケットルート上で受信されることを判定することとを行うように動作可能な前記リオーダリングユニットに基づいて、前記第2のパケットが前記所定のパケット順序に従って受信されるのではないと判定することとを行う
ように動作可能な前記リオーダリングユニットを備える、[C27]に記載の通信ネットワークデバイス。
[C29]
前記リオーダリングユニットは、前記1つまたは複数のルート変化インジケータに少なくとも部分的に基づいて、前記複数のパケットのそれぞれを前記第1のパケットルートまたは前記第2のパケットルートに関連するものとして分類するようにさらに動作可能である、[C24]に記載の通信ネットワークデバイス。
[C30]
前記リオーダリングユニットは、
前記第1の通信ネットワークデバイスで前記第2の通信ネットワークデバイスから受信されたパケットごとに、前記パケットに関連する複数のパケットストリームのうちの1つのパケットストリームを識別し、
前記パケットに関連する前記パケットストリームに少なくとも部分的に基づいて、前記第2の通信ネットワークデバイスから受信された各パケットをソートし、
前記第2の通信ネットワークデバイスから受信された前記複数のパケットが前記複数のパケットストリームのうちの第1のパケットストリームに関連することを判定し、
前記第1の通信ネットワークデバイスと前記第2の通信ネットワークデバイスとの間の前記パケットルートの前記変化を検出するために、前記複数のパケットストリームのうちの前記第1のパケットストリームに関連する前記第2の通信ネットワークデバイスから受信された前記複数のパケットを分析する
ようにさらに動作可能である、[C24]に記載の通信ネットワークデバイス。
[C31]
前記リオーダリングユニットが、前記複数のパケットが前記所定のパケット順序に従って受信されたのではないと判定することに応答して、前記リオーダリングユニットは、
前記所定のパケット順序に従って受信されたのではない前記複数のパケットのサブセットを識別し、
前記所定のパケット順序に従って受信されたのではない前記複数のパケットの前記サブセットをリオーダリングバッファに格納する
ようにさらに動作可能であり、前記所定のパケット順序に従って前記複数のパケットをリオーダリングするように動作可能な前記リオーダリングユニットは、
前記所定のパケット順序に従う前記第1の通信ネットワークデバイスでの処理のために前記複数のパケットの前記格納されたサブセットのうちの1つまたは複数を供給すべきかどうかを判定し、
前記リオーダリングユニットが前記第1の通信ネットワークデバイスでの処理のために前記複数のパケットのうちの前記1つまたは複数を供給すべきであると判定することに応答して、前記第1の通信ネットワークデバイスでの処理のために前記複数のパケットの前記格納されたサブセットのうちの前記1つまたは複数を識別し、供給する
ように動作可能な前記リオーダリングユニットを備える、[C24]に記載の通信ネットワークデバイス。
[C32]
1つまたは複数のプロセッサによって実行された時に、前記1つまたは複数のプロセッサに、
第1のネットワークデバイスで、通信ネットワークの第2のネットワークデバイスから受信された複数のパケットに少なくとも部分的に基づいて、複数のパケットルートの第1のパケットルートから第2のパケットルートへの、前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間のパケットルートの変化を示す1つまたは複数のルート変化インジケータを検出することと、
前記1つまたは複数のルート変化インジケータに基づいて、前記複数のパケットが所定のパケット順序に従って受信されたかどうかを判定することと、
前記複数のパケットが前記所定のパケット順序に従って受信されなかったとの判定に応答して、前記所定のパケット順序に従って前記複数のパケットをリオーダリングすることと
を備える動作を実行させる命令を格納した1つまたは複数の機械可読記憶媒体。
[C33]
前記1つまたは複数のルート変化インジケータに基づいて前記複数のパケットが前記所定のパケット順序に従って受信されたかどうかを判定する前記動作は、
ルート開始インジケータが、前記第1のパケットルートを介するルート終了インジケータの受信の前に前記第2のパケットルートを介して受信されたかどうかを判定することであって、前記ルート開始インジケータが、前記第2のネットワークデバイスからの後続パケットが前記第2のパケットルートを介して送信されることを示し、前記ルート終了インジケータが、前記第1のパケットルートから前記第2のパケットルートへの、前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間の前記パケットルートの前記変化を示す、判定すること
を備え、前記所定のパケット順序に従って前記複数のパケットをリオーダリングする前記動作は、
前記所定のパケット順序に従って前記パケットをリオーダリングするために前記ルート終了インジケータが受信されるまで、前記ルート開始インジケータを前記第2のパケットルートを介して受信した後、前記ルート終了インジケータを前記第1のパケットルートを介して受信する前に、前記第2のパケットルートを介して受信された前記複数のパケットのうちの1つまたは複数をリオーダリングバッファに格納すること
をさらに備える、[C32]に記載の機械可読記憶媒体。
[C34]
前記複数のパケットルートの前記第1のパケットルートから前記複数のパケットルートの前記第2のパケットルートへの、前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間の前記パケットルートの前記変化を示す前記1つまたは複数のルート変化インジケータを検出する前記動作は、
前記第2のネットワークデバイスから受信された前記複数のパケットのそれぞれに関連するパケットヘッダを分析することと、
前記第2のパケットルートを介して受信された前記複数のパケットの第1のパケットが、前記第1のパケットルートを介して以前に受信された前記複数のパケットのうちの少なくとも1つのパケットに関連する第2のパケットヘッダとは異なる第1のパケットヘッダに関連することを判定することと、
前記第2のパケットルートを介して受信された前記複数のパケットの前記第1のパケットが、前記第1のパケットルートを介して以前に受信された前記複数のパケットのうちの少なくとも1つのパケットに関連する前記第2のパケットヘッダとは異なる前記第1のパケットヘッダに関連することの前記判定に少なくとも部分的に基づいて、前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間の前記パケットルートの前記変化を検出することと
を備える、[C32]に記載の機械可読記憶媒体。
[C35]
前記1つまたは複数のルート変化インジケータに基づいて、前記複数のパケットが前記所定のパケット順序に従って受信されたかどうかを判定する前記動作は、
前記複数のパケットのうちの第2のパケットが前記第2のパケットヘッダに関連することを判定することであって、前記第2のパケットは、前記第1のパケットの後に受信される、判定することと、
前記複数のパケットのうちの前記第2のパケットが前記第2のパケットヘッダに関連することの前記判定に少なくとも部分的に基づいて、前記第2のパケットが、少なくとも前記第1のパケットが前記第2のパケットルート上で受信された後に前記第1のパケットルート上で受信されることを判定することと、
前記第2のパケットが、少なくとも前記第1のパケットが前記第2のパケットルート上で受信された後に前記第1のパケットルート上で受信されることの前記判定に基づいて、前記第2のパケットが前記所定のパケット順序に従って受信されたのではないことを判定することと
を備える、[C34]に記載の機械可読記憶媒体。
[C36]
前記複数のパケットが前記所定のパケット順序に従って受信されたのではないことの判定に応答して、前記動作は、
前記所定のパケット順序に従って受信されたのではない前記複数のパケットのサブセットを識別することと、
前記所定のパケット順序に従って受信されたのではない前記複数のパケットの前記サブセットをリオーダリングバッファに格納することと
をさらに備え、前記所定のパケット順序に従って前記複数のパケットをリオーダリングする前記動作は、
前記所定のパケット順序に従う前記第1のネットワークデバイスでの処理のために前記複数のパケットの前記格納されたサブセットのうちの1つまたは複数を供給すべきかどうかを判定することと、
前記第1のネットワークデバイスでの処理のために前記複数のパケットの前記格納されたサブセットのうちの前記1つまたは複数を供給すべきであるとの判定に応答して、前記第1のネットワークデバイスでの処理のために前記複数のパケットの前記格納されたサブセットのうちの前記1つまたは複数を識別し、供給することと
を備える、[C32]に記載の機械可読記憶媒体。

Claims (36)

  1. 通信ネットワークの第1のネットワークデバイスと第2のネットワークデバイスとの間の複数のパケットルートのうちの第1のパケットルートを介して複数のパケットを送信することと、
    前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間の前記複数のパケットルートのうちの第2のパケットルートを介して前記第2のネットワークデバイスに1つまたは複数のパケットを送信すると決定することと、
    前記第2のネットワークデバイスが所定の順序でパケットを処理することを可能にするために、前記複数のパケットルートの前記第1のパケットルートから前記第2のパケットルートへの前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間のパケットルートの変化の表示を前記第2のネットワークデバイスに供給することと、
    前記複数のパケットルートの前記第2のパケットルートを介して前記第2のネットワークデバイスに前記1つまたは複数のパケットを送信することと
    を備える方法。
  2. 前記第1のパケットルートを介して送信される前記複数のパケットおよび前記第2のパケットルートを介して送信される前記1つまたは複数のパケットは、
    共通のパケットストリーム、
    パケットストリームのセット、または
    共通のルートを共有するように構成されたパケットのセット
    のうちの1つに関連する、請求項1に記載の方法。
  3. 前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間の前記複数のパケットルートのうちの前記第2のパケットルートを介して前記第2のネットワークデバイスに前記1つまたは複数のパケットを送信することの前記決定に応答して、
    前記第1のパケットルートを介する前記複数のパケットのうちの最後のパケットの送信と前記第2のパケットルートを介する前記1つまたは複数のパケットのうちの最初のパケットの送信との間にルート変化待ち時間間隔を実施すると決定することと、
    前記第1のパケットルートを介して前記第2のネットワークデバイスに前記複数のパケットのうちの前記最後のパケットを送信することと、
    前記第1のパケットルートを介する前記第2のネットワークデバイスへの前記複数のパケットのうちの前記最後のパケットの前記送信に応答して、前記ルート変化待ち時間間隔を開始することと、
    前記ルート変化待ち時間間隔が経過したことを判定することと、
    前記ルート変化待ち時間間隔が経過したことの前記判定に応答して、前記第2のパケットルートを介して前記第2のネットワークデバイスに前記1つまたは複数のパケットのうちの前記最初のパケットを送信することと
    をさらに備える、請求項1に記載の方法。
  4. 前記ルート変化待ち時間間隔は、前記第1のパケットルートに関連するルート待ち時間と、前記第2のパケットルートに関連するルート待ち時間と、前記第1のパケットルートに関連する推定されたパケット配送時間と、前記第2のパケットルートに関連する推定されたパケット配送時間と、通信ネットワーク待ち時間と、前記第1のネットワークデバイスおよび前記第2のネットワークデバイスが複数の再送信の試みをサポートする場合のラウンドトリップ再送信遅延時間間隔と、ラウンドトリップ遅延と、シーケンス内の最後のパケットの受信と順序はずれパケットの受信との間の最長の遅延と、再送信されたパケットを待っている間にデータを格納するための最大の使用可能なメモリとのうちの1つまたは複数に基づいて決定される、請求項3に記載の方法。
  5. 前記第2のネットワークデバイスが前記所定の順序でパケットを処理することを可能にするための、前記複数のパケットルートの前記第1のパケットルートから前記第2のパケットルートへの前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間の前記パケットルートの前記変化の前記表示を前記供給することは、
    前記第1のパケットルートを介して前記第2のネットワークデバイスに前記複数のパケットのうちの最後のパケットを送信することと、
    前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間の前記パケットルートの前記変化を示すために、前記第1のパケットルートを介する前記複数のパケットのうちの前記最後のパケットの前記送信に応答して、前記第1のパケットルートを介して前記第2のネットワークデバイスにルート終了パケットを供給することと、
    前記第1のネットワークデバイスからの後続パケットが前記第2のパケットルートを介して送信されることを示すために、前記第2のパケットルートを介して前記第2のネットワークデバイスにルート開始パケットを供給することと、
    前記第2のパケットルートを介する前記第2のネットワークデバイスへの前記ルート開始パケットを前記供給することに応答して、前記第2のパケットルートを介して前記第2のネットワークデバイスに前記1つまたは複数のパケットのうちの最初のパケットを送信することと
    を備える、請求項1に記載の方法。
  6. 前記第2のネットワークデバイスが所定の順序でパケットを処理することを可能にするための、前記複数のパケットルートの前記第1のパケットルートから前記第2のパケットルートへの前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間の前記パケットルートの前記変化の前記表示を前記供給することは、
    前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間の前記パケットルートの前記変化を示すために、前記第1のパケットルートを介して前記第2のネットワークデバイスに送信されるようにスケジューリングされた前記複数のパケットパケットのうちの少なくとも最後のパケットにルート終了タグを挿入することと、
    前記第1のパケットルートを介して前記第2のネットワークデバイスに前記ルート終了タグを含む前記複数のパケットパケットのうちの少なくとも前記最後のパケットを送信することと、
    前記第1のネットワークデバイスからの後続パケットが前記第2のパケットルートを介して送信されることを示すために、前記第2のパケットルートを介して前記第2のネットワークデバイスに送信されるようにスケジューリングされた前記1つまたは複数のパケットのうちの少なくとも最初のパケットにルート開始タグを挿入することと、
    前記第2のパケットルートを介して前記第2のネットワークデバイスに前記ルート開始タグを含む前記1つまたは複数のパケットのうちの少なくとも前記最初のパケットを送信することと
    を備える、請求項1に記載の方法。
  7. シーケンスインジケータは、
    前記第1のネットワークデバイスの上位プロトコル層によって挿入される主シーケンス識別子と、
    前記第1のネットワークデバイスのハイブリッドアダプテーション層によって挿入される副シーケンス識別子と
    のうちの1つまたは複数を備える、請求項1に記載の方法。
  8. 前記第1のネットワークデバイスで、前記第2のネットワークデバイスでのパケットリオーダリングを容易にするために前記第2のパケットルートを介して送信される前記1つまたは複数のパケットのそれぞれに1つまたは複数のシーケンスインジケータを挿入すること
    をさらに備える、請求項1に記載の方法。
  9. 前記第1のネットワークデバイスで、前記第1のパケットルートを介して送信される前記複数のパケットのうちの1つまたは複数の最後のパケットに1つまたは複数のシーケンスインジケータを挿入することと、
    前記第1のネットワークデバイスで、前記第2のネットワークデバイスでのパケットリオーダリングを容易にするために前記第2のパケットルートを介して送信される前記1つまたは複数のパケットに1つまたは複数のシーケンスインジケータを挿入することであって、前記第2のパケットルートを介して送信される前記1つまたは複数のパケットに挿入される前記1つまたは複数のシーケンスインジケータは、前記第1のパケットルートを介して送信される前記複数のパケットの前記1つまたは複数の最後のパケットに挿入される前記1つまたは複数のシーケンスインジケータと共に順序通りである、挿入することと
    をさらに備える、請求項1に記載の方法。
  10. 前記第1のパケットルートを介して前記第2のネットワークデバイスに送信されるようにスケジューリングされた前記複数のパケットのうちの少なくとも最後のパケットに第1のルートタグを挿入することと、
    前記第1のパケットルートを介して前記第2のネットワークデバイスに前記第1のルートタグを含む前記複数のパケットのうちの少なくとも前記最後のパケットを送信することと、
    前記第2のパケットルートを介して前記第2のネットワークデバイスに送信されるようにスケジューリングされた前記1つまたは複数のパケットのうちの少なくとも最初のパケットに第2のルートタグを挿入することであって、前記第1のルートタグから前記第2のルートタグへの切替は、前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間の前記パケットルートの前記変化を示す、挿入することと、
    前記第2のパケットルートを介して前記第2のネットワークデバイスに前記第2のルートタグを含む前記1つまたは複数のパケットのうちの少なくとも前記最初のパケットを送信することと
    をさらに備える、請求項1に記載の方法。
  11. 前記第2のパケットルート上で前記第1のパケットルートを介して以前に送信された前記複数のパケットの少なくともサブセットを複製すると決定することと、
    前記第1のパケットルートを介して以前に送信された前記複数のパケットの少なくとも前記サブセットを前記第2のパケットルートを介して前記第2のネットワークデバイスに再送信することと
    をさらに備える、請求項1に記載の方法。
  12. 通信ネットワークの第1のネットワークデバイスで、前記通信ネットワークの第2のネットワークデバイスから受信された複数のパケットに少なくとも部分的に基づいて、複数のパケットルートの第1のパケットルートから第2のパケットルートへの、前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間のパケットルートの変化を示す1つまたは複数のルート変化インジケータを検出することと、
    前記1つまたは複数のルート変化インジケータに基づいて、前記複数のパケットが所定のパケット順序に従って受信されたかどうかを判定することと、
    前記複数のパケットが前記所定のパケット順序に従って受信されなかったとの判定に応答して、前記所定のパケット順序に従って前記複数のパケットをリオーダリングすることと
    を備える方法。
  13. 前記複数のパケットルートの前記第1のパケットルートから前記第2のパケットルートへの、前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間の前記パケットルートの前記変化を示す前記1つまたは複数のルート変化インジケータを前記検出することは、
    前記第1のパケットルートから前記第2のパケットルートへの、前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間の前記パケットルートの前記変化を示すルート終了インジケータであって、ルート終了タグおよびルート終了パケットのうちの少なくとも1つを備える、ルート終了インジケータと、
    前記第2のネットワークデバイスからの後続パケットが前記第2のパケットルートを介して送信されることを示すルート開始インジケータであって、ルート開始タグおよびルート開始パケットのうちの少なくとも1つを備える、ルート開始インジケータと
    のうちの少なくとも1つを検出することを備える、請求項12に記載の方法。
  14. 前記1つまたは複数のルート変化インジケータに基づく前記複数のパケットが前記所定のパケット順序に従って受信されたかどうかの前記判定は、
    前記ルート開始インジケータが、前記第1のパケットルートを介する前記ルート終了インジケータの受信の前に前記第2のパケットルートを介して受信されたかどうかを判定すること
    を備える、請求項13に記載の方法。
  15. 前記所定のパケット順序に従う前記複数のパケットの前記リオーダリングは、
    前記所定のパケット順序に従って前記パケットをリオーダリングするために前記ルート終了インジケータが受信されるまで、前記ルート開始インジケータを前記第2のパケットルートを介して受信した後、前記ルート終了インジケータを前記第1のパケットルートを介して受信する前に、前記第2のパケットルートを介して受信された前記複数のパケットのうちの1つまたは複数をリオーダリングバッファに格納すること
    をさらに備える、請求項14に記載の方法。
  16. 前記複数のパケットルートの前記第1のパケットルートから前記複数のパケットルートの前記第2のパケットルートへの、前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間の前記パケットルートの前記変化を示す前記1つまたは複数のルート変化インジケータを前記検出することは、
    前記第2のネットワークデバイスから受信された前記複数のパケットのそれぞれに関連するパケットヘッダを分析することと、
    前記第2のパケットルートを介して受信された前記複数のパケットの第1のパケットが、前記第1のパケットルートを介して以前に受信された前記複数のパケットのうちの少なくとも1つのパケットに関連する第2のパケットヘッダとは異なる第1のパケットヘッダに関連することを判定することと、
    前記第2のパケットルートを介して受信された前記複数のパケットの前記第1のパケットが、前記第1のパケットルートを介して以前に受信された前記複数のパケットのうちの少なくとも1つのパケットに関連する前記第2のパケットヘッダとは異なる前記第1のパケットヘッダに関連することの前記判定に少なくとも部分的に基づいて、前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間の前記パケットルートの前記変化を検出することと
    を備える、請求項12に記載の方法。
  17. 前記第2のネットワークデバイスから受信された前記複数のパケットのそれぞれに関連する前記パケットヘッダの前記分析は、
    前記第2のネットワークデバイスに関連する通信インターフェースと、前記第2のネットワークデバイスに関連する下位プロトコル層アドレスと、前記第1のネットワークデバイスに関連する通信インターフェースと、前記第1のネットワークデバイスに関連する下位プロトコル層アドレスと、前記第2のネットワークデバイスによって実施される通信プロトコルの表示と、1つまたは複数の転送するネットワークデバイスに関連する情報と、パケットヘッダ内の複数のビットと、パケットヘッダフォーマットと、パケットヘッダ符号化とのうちの少なくとも1つを分析すること
    を備える、請求項16に記載の方法。
  18. 前記1つまたは複数のルート変化インジケータに基づく、前記複数のパケットが前記所定のパケット順序に従って受信されたかどうかの前記判定は、
    前記複数のパケットのうちの第2のパケットが前記第2のパケットヘッダに関連することを判定することであって、前記第2のパケットは、前記第1のパケットの後に受信される、判定することと、
    前記複数のパケットのうちの前記第2のパケットが前記第2のパケットヘッダに関連することの前記判定に少なくとも部分的に基づいて、前記第2のパケットが、少なくとも前記第1のパケットが前記第2のパケットルート上で受信された後に前記第1のパケットルート上で受信されることを判定することと、
    前記第2のパケットが、少なくとも前記第1のパケットが前記第2のパケットルート上で受信された後に前記第1のパケットルート上で受信されることの前記判定に基づいて、前記第2のパケットが前記所定のパケット順序に従って受信されるのではないことを判定することと
    を備える、請求項16に記載の方法。
  19. 前記1つまたは複数のルート変化インジケータに少なくとも部分的に基づいて、前記複数のパケットのそれぞれを、前記第1のパケットルートまたは前記第2のパケットルートに関連するものとして分類することをさらに備える、請求項12に記載の方法。
  20. 第1のネットワークデバイスで第2のネットワークデバイスから受信されたパケットごとに、前記パケットが、複数のパケットストリームのうちの1つのパケットストリームまたは共通のパケットルートを共有するように構成されたパケットの複数の所定のセットのうちの1つに関連することを識別することと、
    前記第2のネットワークデバイスから受信された各パケットを、前記パケットに関連するパケット分類情報と、前記パケットに関連する前記パケットストリームおよび共通のパケットルートを共有するように構成されたパケットの前記所定のセットのうちの少なくとも1つとに少なくとも部分的に基づいてソートすることと、
    前記第2のネットワークデバイスから受信された前記複数のパケットが、前記複数のパケットストリームのうちの第1のパケットストリームまたはパケットの第1の所定のセットに関連することを判定することと、
    前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間の前記パケットルートの前記変化を検出するために、前記複数のパケットストリームのうちの前記第1のパケットストリームまたはパケットの前記第1の所定のセットに関連する前記第2のネットワークデバイスから受信された前記複数のパケットを分析することと
    をさらに備える、請求項12に記載の方法。
  21. 前記複数のパケットが前記所定のパケット順序に従って受信されたのではないことの判定に応答して、
    前記所定のパケット順序に従って受信されたのではない前記複数のパケットのサブセットを識別することと、
    前記所定のパケット順序に従って受信されたのではない前記複数のパケットの前記サブセットをリオーダリングバッファに格納することと
    をさらに備え、前記所定のパケット順序に従う前記複数のパケットの前記リオーダリングは、
    前記所定のパケット順序に従う前記第1のネットワークデバイスでの処理のために前記複数のパケットの前記格納されたサブセットのうちの1つまたは複数を供給すべきかどうかを判定することと、
    前記第1のネットワークデバイスでの処理のために前記複数のパケットのうちの前記1つまたは複数を供給すべきであるとの判定に応答して、前記第1のネットワークデバイスでの処理のために前記複数のパケットの前記格納されたサブセットのうちの前記1つまたは複数を識別し、供給することと
    を備える、請求項12に記載の方法。
  22. 前記第1のネットワークデバイスでの処理のための前記複数のパケットの前記格納されたサブセットのうちの前記1つまたは複数を前記識別し、供給することは、
    前記第1のパケットルート上での前記ルート終了インジケータの受信に応答して、前記第1のパケットルート上でのルート終了インジケータの受信の前に前記第2のパケットルート上で受信された前記複数のパケットの前記格納されたサブセットのうちの前記1つまたは複数を供給することであって、前記ルート終了インジケータは、前記パケットルートの前記変化を示す、供給すること、
    前記第1のパケットルートを介する1つまたは複数のパケットの受信に関連する待ち時間間隔が経過したことの判定に応答して、前記第2のパケットルート上で受信された前記複数のパケットの前記格納されたサブセットのうちの前記1つまたは複数を前記所定のパケット順序に従って供給すること、または
    前記リオーダリングバッファがしきいバッファ容量を超えたことの判定に応答して、前記第2のパケットルート上で受信された前記複数のパケットの前記格納されたサブセットのうちの前記1つまたは複数を前記所定のパケットルートに従って供給すること
    のうちの1つを備える、請求項21に記載の方法。
  23. 前記所定のパケット順序は、
    前記第2のネットワークデバイスによって前記第1のネットワークデバイスに送信される前記複数のパケットのそれぞれに挿入された1つまたは複数のシーケンス識別子と、
    前記第2のネットワークデバイスによって前記第1のネットワークデバイスに送信される前記複数のパケットのそれぞれに関連するパケット識別子および対応するシーケンス識別子を備えるパケットシーケンス情報であって、ルート変化インジケータ内またはシーケンス表示パケット内で供給される、パケットシーケンス情報と
    のうちの少なくとも1つによって示される、請求項12に記載の方法。
  24. 少なくとも1つのネットワークインターフェースと、
    前記少なくとも1つのネットワークインターフェースに結合されたリオーダリングユニットであって、
    複数のパケットルートの第1のパケットルートから第2のパケットルートへの、通信ネットワークデバイスと第2の通信ネットワークデバイスとの間のパケットルートの変化を示す1つまたは複数のルート変化インジケータを、前記第2の通信ネットワークデバイスから受信された複数のパケットに少なくとも部分的に基づいて検出し、
    前記1つまたは複数のルート変化インジケータに基づいて、前記複数のパケットが所定のパケット順序に従って受信されたかどうかを判定し、
    前記リオーダリングユニットが、前記複数のパケットが前記所定のパケット順序に従って受信されたのではないと判定することに応答して、前記所定のパケット順序に従って前記複数のパケットをリオーダリングする
    ように動作可能なリオーダリングユニットと
    を備える通信ネットワークデバイス。
  25. 前記複数のパケットルートの前記第1のパケットルートから前記第2のパケットルートへの、第1の通信ネットワークデバイスと前記第2の通信ネットワークデバイスとの間の前記パケットルートの前記変化を示す前記1つまたは複数のルート変化インジケータを検出するように動作可能な前記リオーダリングユニットは、
    前記第1のパケットルートから前記第2のパケットルートへの前記第1の通信ネットワークデバイスと前記第2の通信ネットワークデバイスとの間の前記パケットルートの前記変化を示すルート終了インジケータであって、ルート終了タグおよびルート終了パケットのうちの少なくとも1つを備える、ルート終了インジケータと、
    前記第2の通信ネットワークデバイスからの後続パケットが前記第2のパケットルートを介して送信されることを示すルート開始インジケータであって、ルート開始タグおよびルート開始パケットのうちの少なくとも1つを備える、ルート開始インジケータと
    のうちの少なくとも1つを検出するように動作可能な前記リオーダリングユニットを備える、請求項24に記載の通信ネットワークデバイス。
  26. 前記1つまたは複数のルート変化インジケータに基づいて、前記複数のパケットが前記所定のパケット順序に従って受信されたかどうかを判定するように動作可能な前記リオーダリングユニットは、
    前記ルート開始インジケータが、前記リオーダリングユニットが前記第1のパケットルートを介して前記ルート終了インジケータを受信する前に前記第2のパケットルートを介して受信されたかどうかを判定するように動作可能な前記リオーダリングユニット
    を備え、前記所定のパケット順序に従って前記複数のパケットをリオーダリングするように動作可能な前記リオーダリングユニットは、
    前記所定のパケット順序に従って前記パケットをリオーダリングするために前記ルート終了インジケータが受信されるまで、前記第2のパケットルートを介して前記ルート開始インジケータを受信した後、前記第1のパケットルートを介して前記ルート終了インジケータを受信する前に、前記第2のパケットルートを介して受信される前記複数のパケットのうちの1つまたは複数をリオーダリングバッファに格納するように動作可能な前記リオーダリングユニット
    をさらに備える、請求項25に記載の通信ネットワークデバイス。
  27. 前記複数のパケットルートの前記第1のパケットルートから前記複数のパケットルートの前記第2のパケットルートへの、前記第1の通信ネットワークデバイスと前記第2の通信ネットワークデバイスとの間の前記パケットルートの前記変化を示す前記1つまたは複数のルート変化インジケータを検出するように動作可能な前記リオーダリングユニットは、
    前記第2の通信ネットワークデバイスから受信された前記複数のパケットのそれぞれに関連するパケットヘッダを分析し、
    前記第2のパケットルートを介して受信される前記複数のパケットのうちの第1のパケットが、前記第1のパケットルートを介して以前に受信された前記複数のパケットのうちの少なくとも1つのパケットに関連する第2のパケットヘッダとは異なる第1のパケットヘッダに関連することを判定し、
    前記第2のパケットルートを介して受信される前記複数のパケットのうちの前記第1のパケットが、前記第1のパケットルートを介して以前に受信された前記複数のパケットのうちの少なくとも1つのパケットに関連する前記第2のパケットヘッダとは異なる前記第1のパケットヘッダに関連することを前記リオーダリングユニットが判定することに少なくとも部分的に基づいて、前記第1の通信ネットワークデバイスと前記第2の通信ネットワークデバイスとの間の前記パケットルートの前記変化を検出する
    ように動作可能な前記リオーダリングユニットを備える、請求項24に記載の通信ネットワークデバイス。
  28. 前記1つまたは複数のルート変化インジケータに基づいて、前記複数のパケットが前記所定のパケット順序に従って受信されたかどうかを判定するように動作可能な前記リオーダリングユニットは、
    前記複数のパケットの第2のパケットが前記第2のパケットヘッダに関連することを判定することであって、前記第2のパケットは、前記第1のパケットの後に受信される、判定することと、
    前記複数のパケットの前記第2のパケットが前記第2のパケットヘッダに関連することを前記リオーダリングユニットが判定することに少なくとも部分的に基づいて、少なくとも前記第1のパケットが前記第2のパケットルート上で受信された後に前記第2のパケットが前記第1のパケットルート上で受信されることを判定することと、
    少なくとも前記第1のパケットが前記第2のパケットルート上で受信された後に前記第2のパケットが前記第1のパケットルート上で受信されることを判定することとを行うように動作可能な前記リオーダリングユニットに基づいて、前記第2のパケットが前記所定のパケット順序に従って受信されるのではないと判定することとを行う
    ように動作可能な前記リオーダリングユニットを備える、請求項27に記載の通信ネットワークデバイス。
  29. 前記リオーダリングユニットは、前記1つまたは複数のルート変化インジケータに少なくとも部分的に基づいて、前記複数のパケットのそれぞれを前記第1のパケットルートまたは前記第2のパケットルートに関連するものとして分類するようにさらに動作可能である、請求項24に記載の通信ネットワークデバイス。
  30. 前記リオーダリングユニットは、
    前記第1の通信ネットワークデバイスで前記第2の通信ネットワークデバイスから受信されたパケットごとに、前記パケットに関連する複数のパケットストリームのうちの1つのパケットストリームを識別し、
    前記パケットに関連する前記パケットストリームに少なくとも部分的に基づいて、前記第2の通信ネットワークデバイスから受信された各パケットをソートし、
    前記第2の通信ネットワークデバイスから受信された前記複数のパケットが前記複数のパケットストリームのうちの第1のパケットストリームに関連することを判定し、
    前記第1の通信ネットワークデバイスと前記第2の通信ネットワークデバイスとの間の前記パケットルートの前記変化を検出するために、前記複数のパケットストリームのうちの前記第1のパケットストリームに関連する前記第2の通信ネットワークデバイスから受信された前記複数のパケットを分析する
    ようにさらに動作可能である、請求項24に記載の通信ネットワークデバイス。
  31. 前記リオーダリングユニットが、前記複数のパケットが前記所定のパケット順序に従って受信されたのではないと判定することに応答して、前記リオーダリングユニットは、
    前記所定のパケット順序に従って受信されたのではない前記複数のパケットのサブセットを識別し、
    前記所定のパケット順序に従って受信されたのではない前記複数のパケットの前記サブセットをリオーダリングバッファに格納する
    ようにさらに動作可能であり、前記所定のパケット順序に従って前記複数のパケットをリオーダリングするように動作可能な前記リオーダリングユニットは、
    前記所定のパケット順序に従う前記第1の通信ネットワークデバイスでの処理のために前記複数のパケットの前記格納されたサブセットのうちの1つまたは複数を供給すべきかどうかを判定し、
    前記リオーダリングユニットが前記第1の通信ネットワークデバイスでの処理のために前記複数のパケットのうちの前記1つまたは複数を供給すべきであると判定することに応答して、前記第1の通信ネットワークデバイスでの処理のために前記複数のパケットの前記格納されたサブセットのうちの前記1つまたは複数を識別し、供給する
    ように動作可能な前記リオーダリングユニットを備える、請求項24に記載の通信ネットワークデバイス。
  32. 1つまたは複数のプロセッサによって実行された時に、前記1つまたは複数のプロセッサに、
    第1のネットワークデバイスで、通信ネットワークの第2のネットワークデバイスから受信された複数のパケットに少なくとも部分的に基づいて、複数のパケットルートの第1のパケットルートから第2のパケットルートへの、前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間のパケットルートの変化を示す1つまたは複数のルート変化インジケータを検出することと、
    前記1つまたは複数のルート変化インジケータに基づいて、前記複数のパケットが所定のパケット順序に従って受信されたかどうかを判定することと、
    前記複数のパケットが前記所定のパケット順序に従って受信されなかったとの判定に応答して、前記所定のパケット順序に従って前記複数のパケットをリオーダリングすることと
    を備える動作を実行させる命令を格納した1つまたは複数の機械可読記憶媒体。
  33. 前記1つまたは複数のルート変化インジケータに基づいて前記複数のパケットが前記所定のパケット順序に従って受信されたかどうかを判定する前記動作は、
    ルート開始インジケータが、前記第1のパケットルートを介するルート終了インジケータの受信の前に前記第2のパケットルートを介して受信されたかどうかを判定することであって、前記ルート開始インジケータが、前記第2のネットワークデバイスからの後続パケットが前記第2のパケットルートを介して送信されることを示し、前記ルート終了インジケータが、前記第1のパケットルートから前記第2のパケットルートへの、前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間の前記パケットルートの前記変化を示す、判定すること
    を備え、前記所定のパケット順序に従って前記複数のパケットをリオーダリングする前記動作は、
    前記所定のパケット順序に従って前記パケットをリオーダリングするために前記ルート終了インジケータが受信されるまで、前記ルート開始インジケータを前記第2のパケットルートを介して受信した後、前記ルート終了インジケータを前記第1のパケットルートを介して受信する前に、前記第2のパケットルートを介して受信された前記複数のパケットのうちの1つまたは複数をリオーダリングバッファに格納すること
    をさらに備える、請求項32に記載の機械可読記憶媒体。
  34. 前記複数のパケットルートの前記第1のパケットルートから前記複数のパケットルートの前記第2のパケットルートへの、前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間の前記パケットルートの前記変化を示す前記1つまたは複数のルート変化インジケータを検出する前記動作は、
    前記第2のネットワークデバイスから受信された前記複数のパケットのそれぞれに関連するパケットヘッダを分析することと、
    前記第2のパケットルートを介して受信された前記複数のパケットの第1のパケットが、前記第1のパケットルートを介して以前に受信された前記複数のパケットのうちの少なくとも1つのパケットに関連する第2のパケットヘッダとは異なる第1のパケットヘッダに関連することを判定することと、
    前記第2のパケットルートを介して受信された前記複数のパケットの前記第1のパケットが、前記第1のパケットルートを介して以前に受信された前記複数のパケットのうちの少なくとも1つのパケットに関連する前記第2のパケットヘッダとは異なる前記第1のパケットヘッダに関連することの前記判定に少なくとも部分的に基づいて、前記第1のネットワークデバイスと前記第2のネットワークデバイスとの間の前記パケットルートの前記変化を検出することと
    を備える、請求項32に記載の機械可読記憶媒体。
  35. 前記1つまたは複数のルート変化インジケータに基づいて、前記複数のパケットが前記所定のパケット順序に従って受信されたかどうかを判定する前記動作は、
    前記複数のパケットのうちの第2のパケットが前記第2のパケットヘッダに関連することを判定することであって、前記第2のパケットは、前記第1のパケットの後に受信される、判定することと、
    前記複数のパケットのうちの前記第2のパケットが前記第2のパケットヘッダに関連することの前記判定に少なくとも部分的に基づいて、前記第2のパケットが、少なくとも前記第1のパケットが前記第2のパケットルート上で受信された後に前記第1のパケットルート上で受信されることを判定することと、
    前記第2のパケットが、少なくとも前記第1のパケットが前記第2のパケットルート上で受信された後に前記第1のパケットルート上で受信されることの前記判定に基づいて、前記第2のパケットが前記所定のパケット順序に従って受信されたのではないことを判定することと
    を備える、請求項34に記載の機械可読記憶媒体。
  36. 前記複数のパケットが前記所定のパケット順序に従って受信されたのではないことの判定に応答して、前記動作は、
    前記所定のパケット順序に従って受信されたのではない前記複数のパケットのサブセットを識別することと、
    前記所定のパケット順序に従って受信されたのではない前記複数のパケットの前記サブセットをリオーダリングバッファに格納することと
    をさらに備え、前記所定のパケット順序に従って前記複数のパケットをリオーダリングする前記動作は、
    前記所定のパケット順序に従う前記第1のネットワークデバイスでの処理のために前記複数のパケットの前記格納されたサブセットのうちの1つまたは複数を供給すべきかどうかを判定することと、
    前記第1のネットワークデバイスでの処理のために前記複数のパケットの前記格納されたサブセットのうちの前記1つまたは複数を供給すべきであるとの判定に応答して、前記第1のネットワークデバイスでの処理のために前記複数のパケットの前記格納されたサブセットのうちの前記1つまたは複数を識別し、供給することと
    を備える、請求項32に記載の機械可読記憶媒体。
JP2014540156A 2011-11-03 2012-11-02 通信ネットワークにおける配送ルート変化に基づくパケットオーダリング Active JP5859669B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/288,313 US9059932B2 (en) 2011-11-03 2011-11-03 Packet ordering based on delivery route changes in communication networks
US13/288,313 2011-11-03
PCT/US2012/063425 WO2013067433A1 (en) 2011-11-03 2012-11-02 Packet ordering based on delivery route changes

Publications (3)

Publication Number Publication Date
JP2014534781A true JP2014534781A (ja) 2014-12-18
JP2014534781A5 JP2014534781A5 (ja) 2015-09-17
JP5859669B2 JP5859669B2 (ja) 2016-02-10

Family

ID=47190188

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014540156A Active JP5859669B2 (ja) 2011-11-03 2012-11-02 通信ネットワークにおける配送ルート変化に基づくパケットオーダリング

Country Status (6)

Country Link
US (1) US9059932B2 (ja)
EP (1) EP2774412B1 (ja)
JP (1) JP5859669B2 (ja)
CN (1) CN103918307B (ja)
IN (1) IN2014CN03429A (ja)
WO (1) WO2013067433A1 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9059932B2 (en) 2011-11-03 2015-06-16 Qualcomm Incorporated Packet ordering based on delivery route changes in communication networks
US8824477B2 (en) 2011-11-03 2014-09-02 Qualcomm Incorporated Multiple delivery route packet ordering
US9049050B2 (en) * 2012-03-19 2015-06-02 Airties Kablosuz Iletisim Sanayi Ve Dis Ticaret An Gulbahar Mahallesi Avni Dilligil Sokak System and method for equalizing transmission delay in a network
US9083649B2 (en) * 2012-07-02 2015-07-14 Cox Communications, Inc. Systems and methods for managing network bandwidth via content buffering
JP5979095B2 (ja) * 2013-08-06 2016-08-24 富士ゼロックス株式会社 情報処理システム、情報処理装置及びプログラム
US9712434B2 (en) 2013-12-31 2017-07-18 Huawei Technologies Co., Ltd. System and method for source routing with one or more delay segments
US10171354B2 (en) 2014-03-28 2019-01-01 Nec Corporation Communication processing system, communication processing apparatus, communication processing method, and storage medium
CN106464578B (zh) * 2014-10-31 2019-06-21 华为技术有限公司 一种网络路径优化装置及方法
US9979640B2 (en) * 2014-12-23 2018-05-22 Intel Corporation Reorder resilient transport
CN107873126B (zh) * 2015-04-15 2021-02-05 诺基亚通信公司 用于小小区回程的自组织网络概念
US10142353B2 (en) 2015-06-05 2018-11-27 Cisco Technology, Inc. System for monitoring and managing datacenters
US10536357B2 (en) * 2015-06-05 2020-01-14 Cisco Technology, Inc. Late data detection in data center
US20170195218A1 (en) * 2015-12-30 2017-07-06 Qualcomm Incorporated Routing in a hybrid network
CN107968748A (zh) * 2016-10-20 2018-04-27 华为技术有限公司 一种多路径流量发送的方法及装置
WO2019000169A1 (en) * 2017-06-26 2019-01-03 Qualcomm Incorporated E PLANNING POLICIES FOR NON-ORDER AUTHORIZATIONS
US11283898B2 (en) * 2017-08-03 2022-03-22 Aptpod, Inc. Data collection system and method for transmitting multiple data sequences with different attributes
US10680966B2 (en) * 2017-12-27 2020-06-09 Juniper Networks, Inc. Intelligent buffering for packet reordering by virtual nodes within a network device
CN113411313B (zh) * 2018-01-25 2023-03-17 华为技术有限公司 数据传输方法、装置和系统
US11546250B2 (en) * 2018-01-31 2023-01-03 Telefonaktiebolaget Lm Ericsson (Publ) Link aggregation with receive side buffering
EP3747166A1 (en) 2018-01-31 2020-12-09 Telefonaktiebolaget Lm Ericsson (Publ) Link aggregation based on estimated time of arrival
CN111193663A (zh) * 2019-12-18 2020-05-22 苏州浪潮智能科技有限公司 一种动态计算链路聚合组切换路径所需延迟的方法及装置
US11658922B2 (en) 2020-08-31 2023-05-23 Micron Technology, Inc. Optional path ordering in packet-based network
US11392527B2 (en) 2020-08-31 2022-07-19 Micron Technology, Inc. Ordered delivery of data packets based on type of path information in each packet
US11477138B2 (en) * 2020-12-23 2022-10-18 Nokia Solutions And Networks Oy Packet reordering in packet switched networks
US11658903B2 (en) * 2021-04-06 2023-05-23 Arista Networks, Inc. Network device route programming
CN114499920B (zh) * 2021-11-09 2022-12-06 清华大学 一种基于动态标签的源和路径验证机制
US20230283408A1 (en) * 2022-03-01 2023-09-07 Gold Data USA, Inc. Systems and methods for the transmission of data via multiple transmission links

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010045646A (ja) * 2008-08-14 2010-02-25 Sony Corp 無線通信装置、通信システム、および通信制御方法、並びにプログラム
JP2010045647A (ja) * 2008-08-14 2010-02-25 Sony Corp 無線通信装置、通信システム、および通信制御方法、並びにプログラム
JP2010050770A (ja) * 2008-08-22 2010-03-04 Sony Corp 無線通信装置、通信システム、および通信制御方法、並びにプログラム
JP2011166238A (ja) * 2010-02-04 2011-08-25 Fujitsu Ltd パケット通信装置、パケット通信システム及びパケット通信方法

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2044718C (en) 1990-06-18 1998-07-28 Katsumi Omuro Rerouting and change-back systems for asynchronous transfer mode network
EP0562215A1 (en) 1992-03-27 1993-09-29 International Business Machines Corporation Order preserving transmission of data streams
US5946309A (en) 1996-08-21 1999-08-31 Telefonaktiebolaget Lm Ericsson Hybrid ATM adaptation layer
US5864535A (en) 1996-09-18 1999-01-26 International Business Machines Corporation Network server having dynamic load balancing of messages in both inbound and outbound directions
DE69738511T2 (de) 1996-12-26 2009-02-05 Ntt Mobile Communications Network Inc. Datensendeverfahren
US6130896A (en) 1997-10-20 2000-10-10 Intel Corporation Wireless LAN segments with point coordination
US6245684B1 (en) 1998-03-13 2001-06-12 Applied Materials, Inc. Method of obtaining a rounded top trench corner for semiconductor trench etch applications
US6272551B1 (en) 1998-04-08 2001-08-07 Intel Corporation Network adapter for transmitting network packets between a host device and a power line network
US6970419B1 (en) 1998-08-07 2005-11-29 Nortel Networks Limited Method and apparatus for preserving frame ordering across aggregated links between source and destination nodes
EP1125413B1 (en) 1998-10-30 2006-05-24 BRITISH TELECOMMUNICATIONS public limited company Data transport
DE60005150T2 (de) 2000-05-17 2004-04-01 Matsushita Electric Industrial Co., Ltd., Kadoma Hybrides ARQ Verfahren zur Datenpaketübertragung
US7050392B2 (en) 2001-03-30 2006-05-23 Brocade Communications Systems, Inc. In-order delivery of frames during topology change
US6947379B1 (en) 2001-04-03 2005-09-20 Cisco Technology, Inc. Packet routing to reduce susceptibility to disturbances
US6947736B2 (en) 2001-11-20 2005-09-20 Texas Instruments Incorporated Universal broadband home network for scalable IEEE 802.11 based wireless and wireline networking
US7113763B2 (en) 2002-06-03 2006-09-26 Nokia Corporation Bluetooth access point and remote bluetooth modules for powerline based networking
JP3807614B2 (ja) 2002-08-12 2006-08-09 株式会社Kddi研究所 マルチリンク通信システムにおけるパケットの順序制御方法
US7599323B2 (en) 2002-10-17 2009-10-06 Alcatel-Lucent Usa Inc. Multi-interface mobility client
US7415028B1 (en) 2003-02-11 2008-08-19 Network Equipment Technologies, Inc. Method and system for optimizing routing table changes due to ARP cache invalidation in routers with split plane architecture
US7159034B1 (en) 2003-03-03 2007-01-02 Novell, Inc. System broadcasting ARP request from a server using a different IP address to balance incoming traffic load from clients via different network interface cards
KR100568229B1 (ko) 2003-07-10 2006-04-07 삼성전자주식회사 애드혹 네트워크상에서 동적으로 arp 캐시 테이블을갱신하는 방법 및 시스템
WO2005032158A2 (en) 2003-09-23 2005-04-07 Arkados, Inc. Integrated universal network adapter
US7382733B2 (en) * 2004-02-12 2008-06-03 International Business Machines Corporation Method for handling reordered data packets
JP3836110B2 (ja) * 2004-02-19 2006-10-18 松下電器産業株式会社 無線通信システム及びパケットルーティング方法
US7269403B1 (en) 2004-06-03 2007-09-11 Miao George J Dual-mode wireless and wired power line communications
US7391317B2 (en) 2004-09-08 2008-06-24 Satius, Inc. Apparatus and method for transmitting digital data over various communication media
US7262695B2 (en) 2004-12-15 2007-08-28 At&T Intellectual Property, Inc. Network interface device
US8755407B2 (en) 2005-02-18 2014-06-17 Qualcomm Incorporated Radio link protocols for enhancing efficiency of multi-link communication systems
US7349325B2 (en) 2005-05-07 2008-03-25 Motorola, Inc. Broadband over low voltage power lines communications system and method
US7899057B2 (en) * 2006-04-28 2011-03-01 Jds Uniphase Corporation Systems for ordering network packets
KR100651737B1 (ko) 2005-06-17 2006-12-01 한국전자통신연구원 Plc 망과 무선망을 연동하는 액세스 포인터 및 그 방법
US7835743B2 (en) 2005-08-03 2010-11-16 Toshiba America Research, Inc. Seamless network interface selection, handoff and management in multi-IP network interface mobile devices
US8213895B2 (en) 2005-10-03 2012-07-03 Broadcom Europe Limited Multi-wideband communications over multiple mediums within a network
US8406239B2 (en) 2005-10-03 2013-03-26 Broadcom Corporation Multi-wideband communications over multiple mediums
EP1770870B1 (en) 2005-10-03 2019-04-03 Avago Technologies International Sales Pte. Limited Powerline communication device and method
US20070076666A1 (en) 2005-10-03 2007-04-05 Riveiro Juan C Multi-Wideband Communications over Power Lines
EP1938640A1 (en) * 2005-10-17 2008-07-02 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Method for performing handoff in a packet-switched cellular communications system
EP1793585A3 (en) 2005-12-01 2011-12-21 Electronics and Telecommunications Research Institute Digital satellite broadcasting set-top box, and home network control system employing the same
KR100809261B1 (ko) 2006-09-29 2008-03-03 한국전자통신연구원 QoS를 지원하는 고속 전력선 네트워크와 이더넷 간의브리지 시스템
KR100823737B1 (ko) 2006-09-29 2008-04-21 한국전자통신연구원 서로 다른 QoS를 제공하는 네트워크들을 위한 브리지장치
JP4963226B2 (ja) 2006-12-15 2012-06-27 富士通株式会社 無線通信システムにおける復旧方法、および無線ネットワーク制御装置
US20080159288A1 (en) * 2006-12-29 2008-07-03 Lucent Technologies Inc. TRAFFIC ENGINEERING AND FAST PROTECTION USING IPv6 CAPABILITIES
JP2008211682A (ja) * 2007-02-27 2008-09-11 Fujitsu Ltd 受信プログラム、送信プログラム、送受信システム、および送受信方法
US20090046577A1 (en) * 2007-08-14 2009-02-19 Motorola, Inc. Resuming an interrupted flow of data packets
JP4591789B2 (ja) 2007-12-13 2010-12-01 Necエンジニアリング株式会社 パケット転送方法およびパケット転送装置
KR20090062664A (ko) 2007-12-13 2009-06-17 한국전자통신연구원 선박 내부 네트워크에서의 통신 시스템 및 방법
US7769002B2 (en) 2008-02-15 2010-08-03 Intel Corporation Constrained dynamic path selection among multiple communication interfaces
JP2009239444A (ja) 2008-03-26 2009-10-15 Mitsubishi Electric Corp パケット順序制御方法、受信装置、送信装置および通信システム
US8437267B2 (en) 2008-12-22 2013-05-07 Ltn Global Communications, Inc. System and method for recovery of packets in overlay networks
EP2750448B1 (en) 2009-12-09 2018-07-04 Philips Lighting Holding B.V. Wireless communication method based on proxy redundancy
US9059932B2 (en) 2011-11-03 2015-06-16 Qualcomm Incorporated Packet ordering based on delivery route changes in communication networks
US8824477B2 (en) 2011-11-03 2014-09-02 Qualcomm Incorporated Multiple delivery route packet ordering
US9608899B2 (en) 2011-11-21 2017-03-28 Qualcomm Incorporated Packet-based aggregation of data streams across disparate networking interfaces
US9065749B2 (en) * 2011-11-21 2015-06-23 Qualcomm Incorporated Hybrid networking path selection and load balancing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010045646A (ja) * 2008-08-14 2010-02-25 Sony Corp 無線通信装置、通信システム、および通信制御方法、並びにプログラム
JP2010045647A (ja) * 2008-08-14 2010-02-25 Sony Corp 無線通信装置、通信システム、および通信制御方法、並びにプログラム
JP2010050770A (ja) * 2008-08-22 2010-03-04 Sony Corp 無線通信装置、通信システム、および通信制御方法、並びにプログラム
JP2011166238A (ja) * 2010-02-04 2011-08-25 Fujitsu Ltd パケット通信装置、パケット通信システム及びパケット通信方法

Also Published As

Publication number Publication date
CN103918307A (zh) 2014-07-09
EP2774412A1 (en) 2014-09-10
CN103918307B (zh) 2018-02-09
JP5859669B2 (ja) 2016-02-10
IN2014CN03429A (ja) 2015-07-03
WO2013067433A1 (en) 2013-05-10
US9059932B2 (en) 2015-06-16
EP2774412B1 (en) 2017-03-01
US20130114598A1 (en) 2013-05-09

Similar Documents

Publication Publication Date Title
JP5859669B2 (ja) 通信ネットワークにおける配送ルート変化に基づくパケットオーダリング
KR101492510B1 (ko) 다중 전달 라우트 패킷 정렬
KR101696776B1 (ko) 향상된 확인응답 및 재송신 메커니즘
KR101749261B1 (ko) 스트림들의 끊김없는 경로 스위칭을 갖는 하이브리드 네트워킹 시스템
US9065749B2 (en) Hybrid networking path selection and load balancing
US9608899B2 (en) Packet-based aggregation of data streams across disparate networking interfaces
US9197373B2 (en) Method, apparatus, and system for retransmitting data packet in quick path interconnect system
US9722943B2 (en) Seamless switching for multihop hybrid networks
US20060271680A1 (en) Method For Transmitting Window Probe Packets

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150626

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150727

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20150727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150728

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20151029

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151117

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151216

R150 Certificate of patent or registration of utility model

Ref document number: 5859669

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250